This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

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.