A MySQL CASE kifejezés a vezérlőfolyamat függvény része, amely lehetővé teszi számunkra, hogy írjunk egy ha-más vagy ha-akkor-más logika egy lekérdezéshez. Ez a kifejezés bárhol használható, amely érvényes programot vagy lekérdezést használ, például SELECT, WHERE, ORDER BY záradék stb.
A CASE kifejezés különböző feltételeket érvényesít, és visszaadja az eredményt, amikor az első feltétel igaz . Ha a feltétel teljesül, leállítja a mozgást, és kiadja a kimenetet. Ha egyetlen feltételt sem talál igaznak, akkor végrehajtja a más blokk . Ha az else blokk nem található, akkor visszaadja a NULLA érték. A fő cél a MySQL A CASE utasítás több IF utasítás kezelésére szolgál a SELECT záradékban.
A CASE utasítást kétféleképpen használhatjuk, amelyek a következők:
1. Egyszerű CASE utasítás:
Az első módszer az, hogy veszünk egy értéket, és párosítjuk az adott utasítással, az alábbiak szerint.
megegyezik a java-val
Szintaxis
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
Visszaadja az eredményt, amikor az első érték összehasonlítása az összehasonlítás igazzá válik. Ellenkező esetben az else záradékot adja vissza.
Példa
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
Kimenet
A fenti parancs sikeres végrehajtása után a következő kimenetet fogjuk látni.
2. Keresett CASE utasítás:
A második módszer az a keresési_feltétel ban,-ben AMIKOR záradékot, és ha talál, adja vissza az eredményt a megfelelő THEN záradékban. Ellenkező esetben az else záradékot adja vissza. Ha más záradék nincs megadva, akkor NULL értéket ad vissza.
Szintaxis
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
Példa
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
Kimenet
hogyan lehet ellenőrizni a blokkolt számokat androidon
Visszatérés típusa
A CASE kifejezés az eredményt adja vissza attól függően, hogy milyen környezetben használják. Például:
- Ha a szövegkörnyezetben használják, akkor a karakterlánc eredményét adja vissza.
- Ha numerikus kontextusban használja, akkor egész, lebegő és decimális értéket ad vissza.
MySQL verzió támogatás
A CASE utasítás a következő MySQL verziókat támogatja:
- 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
Hozzunk létre egy táblázatot hallgatók ' és hajtsa végre a CASE utasítást ezen a táblán.
A fenti táblázatban láthatjuk, hogy a osztályos oszlop a hallgatói tagozat rövid formáját tartalmazza. Ezért a tanszék rövid formáját teljes formára cseréljük. Most hajtsa végre a következő lekérdezést a művelet végrehajtásához.
SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students;
A fenti lekérdezés sikeres végrehajtása után a következő kimenetet kapjuk. Itt láthatjuk, hogy a osztály oszlop a teljes formát tartalmazza rövid forma helyett.