L'operatore CASE
Sintassi
CASE valore WHEN [valore_di_confronto] THEN risultato [WHEN [valore_di_confronto] THEN risultato ...] [ELSE risultato] END CASE WHEN [condizione] THEN risultato [WHEN [condizione] THEN risultato ...] [ELSE risultato ] END
Spiegazione
La prima versione restituisce il risultato che corrisponde a valore = valore_di_confronto. La seconda versione restituisce il risultato della prima condizione che risulta vera. Se nessuna condizione è vera, viene restituito il risultato dopo ELSE se esiste, altrimenti NULL.
Esempi
MariaDB [(none)]> SELECT CASE 1 WHEN 1 THEN 'uno' -> WHEN 2 THEN 'due' ELSE 'più' END; +------------------------------------------------------------+ | CASE 1 WHEN 1 THEN 'uno' WHEN 2 THEN 'due' ELSE 'più' END | +------------------------------------------------------------+ | uno | +------------------------------------------------------------+ 1 row in set (0.00 sec) MariaDB [(none)]> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END; +--------------------------------------------+ | CASE WHEN 1>0 THEN 'true' ELSE 'false' END | +--------------------------------------------+ | true | +--------------------------------------------+ 1 row in set (0.00 sec) MariaDB [(none)]> SELECT CASE BINARY 'B' -> WHEN 'a' THEN 1 WHEN 'b' THEN 2 END; +-----------------------------------------------------+ | CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END | +-----------------------------------------------------+ | NULL | +-----------------------------------------------------+ 1 row in set (0.00 sec) MariaDB [(none)]>
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.