logo

MySQL CASE izteiksme

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.

MySQL CASE izteiksme

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

MySQL CASE izteiksme

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.

MySQL CASE izteiksme

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.

MySQL CASE izteiksme