logo

Izraz MySQL CASE

MySQL CASE izraz je del funkcije nadzornega toka, ki nam omogoča pisanje če-sicer ali če-potem-drugače logiko do poizvedbe. Ta izraz je mogoče uporabiti povsod, kjer se uporablja veljaven program ali poizvedba, kot je klavzula SELECT, WHERE, ORDER BY itd.

Izraz CASE potrdi različne pogoje in vrne rezultat, ko je prvi pogoj izpolnjen prav . Ko je pogoj izpolnjen, preneha s prečkanjem in poda izhod. Če noben pogoj ne najde resničnega, izvede sicer blok . Ko blok else ni najden, vrne a NIČ vrednost. Glavni cilj MySQL Stavek CASE obravnava več stavkov IF v stavku SELECT.

Stavek CASE lahko uporabimo na dva načina, ki sta naslednja:

1. Preprost stavek CASE:

Prva metoda je vzeti vrednost in jo povezati z danim stavkom, kot je prikazano spodaj.

reagirati vstavljeni slog

Sintaksa

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

Vrne rezultat, ko je prvi primerjaj_vrednost primerjava postane resnična. V nasprotnem primeru bo vrnil klavzulo else.

Primer

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

Izhod

Po uspešni izvedbi zgornjega ukaza bomo videli naslednji rezultat.

Izraz MySQL CASE

2. Iskani stavek CASE:

Druga metoda je upoštevati a pogoj_iskanja v KDAJ in če najde, vrne rezultat v ustreznem stavku THEN. V nasprotnem primeru bo vrnil klavzulo else. Če člen else ni podan, bo vrnil vrednost NULL.

Sintaksa

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

Primer

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

Izhod

Izraz MySQL CASE

Vrsta povratka

Izraz CASE vrne rezultat glede na kontekst, kjer je uporabljen. Na primer:

  • Če se uporablja v kontekstu niza, vrne rezultat niza.
  • Če se uporablja v številskem kontekstu, vrne celo število, plavajočo vrednost, decimalno vrednost.

Podpora za različico MySQL

Izjava CASE lahko podpira naslednje različice 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

Ustvarimo tabelo ' študenti ' in na tej tabeli izvedite stavek CASE.

Izraz MySQL CASE

izjema vrzi javo

V zgornji tabeli lahko vidimo, da je razredni stolpec vsebuje kratko obliko študentskega oddelka. Zato bomo krajšo obliko oddelka zamenjali s polno obliko. Zdaj izvedite naslednjo poizvedbo, da izvedete to operacijo.

 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 uspešni izvedbi zgornje poizvedbe bomo dobili naslednji rezultat. Tukaj lahko vidimo, da je oddelek stolpec vsebuje polno obliko namesto kratke oblike.

Izraz MySQL CASE