logo

MySQL CASE išraiška

MySQL CASE išraiška yra valdymo srauto funkcijos dalis, kuri leidžia mums parašyti jei-kitaip arba jei-tai-kita užklausos logika. Ši išraiška gali būti naudojama visur, kur naudojama tinkama programa arba užklausa, pvz., SELECT, WHERE, ORDER BY ir kt.

CASE išraiška patvirtina įvairias sąlygas ir pateikia rezultatą, kai yra pirmoji sąlyga tiesa . Kai sąlyga įvykdoma, ji nustoja judėti ir pateikia rezultatą. Jei ji neranda jokios tikrosios sąlygos, ji įvykdo kitas blokas . Kai blokas else nerandamas, jis grąžina a NULL vertė. Pagrindinis tikslas MySQL CASE teiginys yra susijęs su keliais IF sakiniais SELECT sąlygoje.

CASE teiginį galime naudoti dviem būdais, kurie yra tokie:

1. Paprastas CASE teiginys:

Pirmasis metodas yra paimti reikšmę ir suderinti ją su pateiktu teiginiu, kaip parodyta toliau.

android versijos

Sintaksė

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

Jis grąžina rezultatą, kai pirmą kartą palyginti_vertę palyginimas tampa tikru. Priešingu atveju bus grąžinta kita sąlyga.

Pavyzdys

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

Išvestis

Sėkmingai įvykdę aukščiau pateiktą komandą, pamatysime tokią išvestį.

MySQL CASE išraiška

2. Ieškota CASE teiginio:

Antrasis būdas yra apsvarstyti a paieškos_sąlyga viduje KADA sakinius, o jei randa, grąžinkite rezultatą atitinkamame THEN sakinyje. Priešingu atveju bus grąžinta kita sąlyga. Jei kita sąlyga nenurodyta, ji grąžins NULL reikšmę.

Sintaksė

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

Pavyzdys

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

Išvestis

MySQL CASE išraiška

eilutę konvertuoti į sveikąjį skaičių

Grąžinimo tipas

CASE išraiška grąžina rezultatą, priklausomai nuo konteksto, kuriame jis naudojamas. Pavyzdžiui:

  • Jei jis naudojamas eilutės kontekste, jis grąžina eilutės rezultatą.
  • Jei jis naudojamas skaitiniame kontekste, jis grąžina sveikąjį skaičių, slankiąją, dešimtainę reikšmę.

MySQL versijos palaikymas

CASE teiginys gali palaikyti šias 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

Sukurkime lentelę studentai “ ir šioje lentelėje atlikite CASE teiginį.

MySQL CASE išraiška

Aukščiau pateiktoje lentelėje matome, kad klasės stulpelis yra trumpoji studentų skyriaus forma. Todėl trumpąją skyriaus formą ketiname keisti pilna forma. Dabar atlikite šią užklausą, kad atliktumėte šią operaciją.

 SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students; 

Sėkmingai įvykdę aukščiau pateiktą užklausą, gausime tokią išvestį. Čia matome, kad skyrius stulpelyje yra visa forma, o ne trumpoji forma.

MySQL CASE išraiška