logo

Expresia MySQL CASE

Expresia MySQL CASE este o parte a funcției fluxului de control care ne oferă să scriem un dacă-altfel sau dacă-atunci-altfel logica unei interogări. Această expresie poate fi folosită oriunde care utilizează un program sau o interogare validă, cum ar fi clauza SELECT, WHERE, ORDER BY etc.

Expresia CASE validează diferite condiții și returnează rezultatul când este prima condiție Adevărat . Odată ce condiția este îndeplinită, se oprește traversarea și dă ieșirea. Dacă nu va găsi nicio condiție adevărată, execută altfel blocați . Când blocul else nu este găsit, returnează a NUL valoare. Scopul principal al MySQL Instrucțiunea CASE este de a trata mai multe instrucțiuni IF din clauza SELECT.

Putem folosi instrucțiunea CASE în două moduri, care sunt după cum urmează:

1. Declarație CASE simplă:

Prima metodă este de a lua o valoare și de a o potrivi cu instrucțiunea dată, așa cum se arată mai jos.

regexp_like în mysql

Sintaxă

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

Acesta returnează rezultatul când este primul compara_valoare comparația devine adevărată. În caz contrar, va returna clauza else.

Exemplu

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

Ieșire

După executarea cu succes a comenzii de mai sus, vom vedea următoarea ieșire.

Expresia MySQL CASE

2. Instrucțiunea CASE căutată:

A doua metodă este de a lua în considerare a condiție_căutare în CÂND clauze și, dacă găsește, returnează rezultatul în clauza THEN corespunzătoare. În caz contrar, va returna clauza else. Dacă clauza else nu este specificată, va returna o valoare NULL.

Sintaxă

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

Exemplu

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

Ieșire

Expresia MySQL CASE

Tip de returnare

Expresia CASE returnează rezultatul în funcție de contextul în care este utilizată. De exemplu:

  • Dacă este folosit în contextul șirului, returnează rezultatul șirului.
  • Dacă este folosit într-un context numeric, returnează valoarea întreagă, flotantă, zecimală.

Suport pentru versiunea MySQL

Declarația CASE poate suporta următoarele versiuni MySQL:

obiect java la json
  • 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

Să creăm un tabel' elevi ' și executați instrucțiunea CASE pe acest tabel.

Expresia MySQL CASE

În tabelul de mai sus, putem vedea că coloana clasei conţine forma scurtă a catedrei studentului. De aceea, vom schimba forma scurtă a departamentului cu forma completă. Acum, executați următoarea interogare pentru a face această operație.

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

După executarea cu succes a interogării de mai sus, vom obține următoarea ieșire. Aici, putem vedea că departament coloana conține forma completă în loc de o formă scurtă.

Expresia MySQL CASE