MySQL CASE izteiksme ir daļa no vadības plūsmas funkcijas, kas ļauj mums rakstīt ja-citādi vai ja-tad-citādi vaicājuma loģika. Šo izteiksmi var izmantot jebkur, kur tiek izmantota derīga programma vai vaicājums, piemēram, SELECT, WHERE, ORDER BY u.c.
Izteiksme CASE apstiprina dažādus nosacījumus un atgriež rezultātu, kad ir pirmais nosacījums taisnība . Kad nosacījums ir izpildīts, tas pārtrauc pārvietošanos un dod rezultātu. Ja tas neatrod nevienu nosacījumu, kas ir patiess, tas izpilda cits bloks . Ja cits bloks netiek atrasts, tas atgriež a NULL vērtību. Galvenais mērķis MySQL CASE priekšraksts ir paredzēts vairākiem IF priekšrakstiem SELECT klauzulā.
Mēs varam izmantot CASE paziņojumu divos veidos, kas ir šādi:
1. Vienkāršs CASE paziņojums:
Pirmā metode ir ņemt vērtību un saskaņot to ar doto paziņojumu, kā parādīts zemāk.
c koda virkņu masīvs
Sintakse
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
Tas atgriež rezultātu, kad pirmais salīdzināt_vērtību salīdzinājums kļūst patiess. Pretējā gadījumā tiks atgriezta cita klauzula.
Piemērs
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
Izvade
Pēc veiksmīgas iepriekš minētās komandas izpildes mēs redzēsim šādu izvadi.
2. Meklēts CASE paziņojums:
Otrā metode ir apsvērt a meklēšanas_nosacījums iekš KAD klauzulas, un, ja tā atrod, atgrieziet rezultātu attiecīgajā THEN klauzulā. Pretējā gadījumā tiks atgriezta cita klauzula. Ja cits klauzula nav norādīta, tā atgriezīs NULL vērtību.
Sintakse
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
Piemērs
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
Izvade
Atgriešanas veids
Izteiksme CASE atgriež rezultātu atkarībā no konteksta, kurā tā tiek izmantota. Piemēram:
- Ja to izmanto virknes kontekstā, tas atgriež virknes rezultātu.
- Ja to izmanto skaitliskā kontekstā, tas atgriež veselu skaitli, peldošo vērtību, decimālvērtību.
MySQL versijas atbalsts
CASE priekšraksts var atbalstīt šādas MySQL versijas:
- 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
Izveidosim tabulu studenti un šajā tabulā izpildiet CASE paziņojumu.
Iepriekš redzamajā tabulā mēs redzam, ka klases kolonna satur studentu nodaļas īso formu. Tāpēc arī nomainīsim nodaļas īso formu uz pilno formu. Tagad izpildiet šo vaicājumu, lai veiktu šo darbību.
marquee html
SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students;
Pēc veiksmīgas iepriekš minētā vaicājuma izpildes mēs saņemsim šādu izvadi. Šeit mēs varam redzēt, ka nodaļa kolonnā ir pilna forma, nevis īsa forma.