L'operatore CASE

Stai visualizzando una vecchia versione di questo article. Visualizza la versione più recente.

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)]> 

Commenti

Sto caricando i commenti......
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.