logo

Wyrażenie CASE MySQL

Wyrażenie MySQL CASE jest częścią funkcji przepływu sterowania, która umożliwia nam napisanie pliku jeśli-else lub jeśli-to-else logika zapytania. Tego wyrażenia można użyć wszędzie tam, gdzie używa się prawidłowego programu lub zapytania, na przykład klauzuli SELECT, WHERE, ORDER BY itp.

Wyrażenie CASE sprawdza poprawność różnych warunków i zwraca wynik, gdy spełniony jest pierwszy warunek PRAWDA . Gdy warunek zostanie spełniony, zatrzymuje się i podaje wyjście. Jeśli żaden warunek nie zostanie znaleziony, wykonuje polecenie inaczej zablokuj . Jeśli blok else nie zostanie znaleziony, zwraca a ZERO wartość. Głównym celem MySQL'a Instrukcja CASE ma do czynienia z wieloma instrukcjami IF w klauzuli SELECT.

Instrukcji CASE możemy używać na dwa sposoby, które są następujące:

1. Proste stwierdzenie CASE:

Pierwsza metoda polega na pobraniu wartości i dopasowaniu jej do podanej instrukcji, jak pokazano poniżej.

tablica ciągów w programowaniu w języku C

Składnia

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

Zwraca wynik, gdy pierwszy wartość_porównawcza porównanie staje się prawdziwe. W przeciwnym razie zwróci klauzulę else.

Przykład

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

Wyjście

Po pomyślnym wykonaniu powyższego polecenia zobaczymy następujące dane wyjściowe.

Wyrażenie CASE MySQL

2. Szukana instrukcja CASE:

Druga metoda polega na rozważeniu a warunek_wyszukiwania w GDY klauzule i jeśli je znajdzie, zwróć wynik w odpowiedniej klauzuli THEN. W przeciwnym razie zwróci klauzulę else. Jeśli klauzula else nie zostanie określona, ​​zwróci wartość NULL.

Składnia

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

Przykład

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

Wyjście

Wyrażenie CASE MySQL

Typ zwrotu

Wyrażenie CASE zwraca wynik w zależności od kontekstu, w którym zostało użyte. Na przykład:

  • Jeśli zostanie użyte w kontekście ciągu znaków, zwraca wynik w postaci ciągu znaków.
  • Jeśli zostanie użyte w kontekście liczbowym, zwraca wartość całkowitą, zmiennoprzecinkową i dziesiętną.

Obsługa wersji MySQL

Instrukcja CASE może obsługiwać następujące wersje MySQL:

  • MySQL8.0
  • MySQL-a 5.7
  • MySQL-a 5.6
  • MySQL-a 5.5
  • MySQL 5.1
  • MySQL5.0
  • MySQL 4.1
  • MySQL 4.0
  • MySQL 3.23.3

Stwórzmy tabelę ' studenci ' i wykonaj instrukcję CASE w tej tabeli.

Wyrażenie CASE MySQL

indeks górny w ilustratorze

W powyższej tabeli widzimy, że kolumna klasowa zawiera skróconą formę działu studenta. Dlatego też skróconą formę działu zamienimy na pełną. Teraz wykonaj następujące zapytanie, aby wykonać tę operację.

 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 pomyślnym wykonaniu powyższego zapytania otrzymamy następujące dane wyjściowe. Tutaj widzimy, że dział kolumna zawiera pełny formularz zamiast krótkiego formularza.

Wyrażenie CASE MySQL