logo

MySQL CASE výraz

MySQL CASE výraz je součástí funkce řízení toku, která nám umožňuje psát pokud-jinak nebo pokud-pak-jinak logiku k dotazu. Tento výraz lze použít kdekoli, kde se používá platný program nebo dotaz, jako je klauzule SELECT, WHERE, ORDER BY atd.

Výraz CASE ověřuje různé podmínky a vrací výsledek, když je první podmínka skutečný . Jakmile je podmínka splněna, zastaví procházení a vydá výstup. Pokud neshledá žádnou podmínku pravdivou, provede jinak blokovat . Když blok else není nalezen, vrátí a NULA hodnota. Hlavním cílem MySQL Příkaz CASE se má zabývat více příkazy IF v klauzuli SELECT.

Příkaz CASE můžeme použít dvěma způsoby, které jsou následující:

1. Jednoduchý příkaz CASE:

První metodou je vzít hodnotu a porovnat ji s daným příkazem, jak je uvedeno níže.

vyměnit vše

Syntax

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

Vrátí výsledek při prvním porovnat_hodnotu srovnání se stává pravdou. V opačném případě vrátí klauzuli else.

Příklad

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

Výstup

Po úspěšném provedení výše uvedeného příkazu uvidíme následující výstup.

MySQL CASE výraz

2. Hledaný výraz CASE:

Druhá metoda je zvážit a search_condition v KDYŽ klauzule, a pokud najde, vrátí výsledek v odpovídající klauzuli THEN. V opačném případě vrátí klauzuli else. Pokud klauzule else není zadaná, vrátí hodnotu NULL.

Syntax

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

Příklad

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

Výstup

MySQL CASE výraz

přepsání metody v Javě

Typ návratu

Výraz CASE vrátí výsledek v závislosti na kontextu, kde je použit. Například:

  • Pokud je použit v kontextu řetězce, vrátí výsledek řetězce.
  • Pokud se použije v číselném kontextu, vrátí celočíselnou, plovoucí a desetinnou hodnotu.

Podpora verze MySQL

Příkaz CASE může podporovat následující verze 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

Pojďme vytvořit tabulku' studentů a proveďte v této tabulce příkaz CASE.

MySQL CASE výraz

Ve výše uvedené tabulce můžeme vidět, že třída sloupec obsahuje zkrácenou formu studentského oddělení. Proto se chystáme změnit krátkou formu oddělení za plnou. Nyní proveďte následující dotaz k provedení této operace.

 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 úspěšném provedení výše uvedeného dotazu získáme následující výstup. Zde můžeme vidět, že oddělení sloupec obsahuje plný tvar namísto krátkého formuláře.

MySQL CASE výraz