logo

MySQL CASE výraz

MySQL CASE výraz je súčasťou funkcie riadiaceho toku, ktorá nám umožňuje písať ak-inak alebo ak-tak-inak logiku k dotazu. Tento výraz možno použiť kdekoľvek, kde sa používa platný program alebo dotaz, ako napríklad klauzula SELECT, WHERE, ORDER BY atď.

Výraz CASE overuje rôzne podmienky a vráti výsledok, keď je prvá podmienka pravda . Po splnení podmienky zastaví prechádzanie a vydá výstup. Ak nenájde žiadnu podmienku pravdivú, vykoná sa inak blokovať . Keď sa nenájde blok else, vráti a NULOVÝ hodnotu. Hlavným cieľom MySQL Príkaz CASE sa má zaoberať viacerými príkazmi IF v klauzule SELECT.

Príkaz CASE môžeme použiť dvoma spôsobmi, ktoré sú nasledovné:

1. Jednoduchý príkaz CASE:

Prvým spôsobom je vziať hodnotu a spárovať ju s daným príkazom, ako je uvedené nižšie.

singleton dizajnový vzor java

Syntax

 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END 

Vráti výsledok pri prvom porovnať_hodnotu porovnanie sa stáva pravdou. V opačnom prípade vráti klauzulu else.

Príklad

 mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END; 

Výkon

Po úspešnom vykonaní vyššie uvedeného príkazu uvidíme nasledujúci výstup.

MySQL CASE výraz

2. Hľadaný výraz CASE:

Druhým spôsobom je zvážiť a search_condition v KEDY klauzuly, a ak nájde, vráti výsledok v zodpovedajúcej klauzule THEN. V opačnom prípade vráti klauzulu else. Ak klauzula else nie je špecifikovaná, vráti hodnotu NULL.

Syntax

 CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 

Príklad

 mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END; 

Výkon

MySQL CASE výraz

Typ návratu

Výraz CASE vráti výsledok v závislosti od kontextu, v ktorom sa používa. Napríklad:

  • Ak sa použije v kontexte reťazca, vráti výsledok reťazca.
  • Ak sa použije v číselnom kontexte, vráti celočíselné, pohyblivé a desatinné hodnoty.

Podpora verzie MySQL

Príkaz CASE môže podporovať nasledujúce verzie MySQL:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0
  • MySQL 3.23.3

Poďme vytvoriť tabuľku ' študentov “ a v tejto tabuľke vykonajte príkaz CASE.

MySQL CASE výraz

Vo vyššie uvedenej tabuľke môžeme vidieť, že stĺpec triedy obsahuje skrátenú formu študentského oddelenia. Preto sa chystáme zmeniť krátku formu oddelenia za plnú. Teraz vykonajte nasledujúci dotaz na vykonanie tejto operácie.

java rovná sa
 SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students; 

Po úspešnom vykonaní vyššie uvedeného dotazu dostaneme nasledujúci výstup. Tu môžeme vidieť, že oddelenie stĺpec obsahuje celý formulár namiesto krátkeho formulára.

MySQL CASE výraz