Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CASEespressione condizionale
L'CASEespressione è un'espressione condizionale, simile alle istruzioni if/then/else presenti in altri linguaggi. CASEviene utilizzato per specificare un risultato in presenza di più condizioni. Usa CASE dove un'SQLespressione è valida, ad esempio in un SELECT comando.
Esistono due tipi di CASE espressioni: semplici e ricercate.
Nelle CASE espressioni semplici, un'espressione viene confrontata con un valore. Quando viene trovata una corrispondenza, viene applicata l'azione specificata nella THEN clausola. Se non viene trovata alcuna corrispondenza, viene applicata l'azione nella ELSE clausola.
Nelle CASE espressioni ricercate, ciascuna CASE viene valutata in base a un'espressione booleana e l'CASEistruzione restituisce la prima corrispondenza. CASE Se non viene trovata alcuna corrispondenza tra le WHEN clausole, viene restituita l'azione nella clausola. ELSE
Sintassi
CASEDichiarazione semplice utilizzata per soddisfare le condizioni:
CASE expression WHEN value THEN result [WHEN...] [ELSE result] END
CASEDichiarazione ricercata utilizzata per valutare ogni condizione:
CASE WHEN condition THEN result [WHEN ...] [ELSE result] END
Argomenti
- espressione
-
Un nome di colonna o qualsiasi espressione valida.
- value
-
Valore con cui viene confrontata l'espressione, ad esempio una costante numerica o una stringa di caratteri.
- result
-
Il valore o espressione di destinazione che viene restituito quando viene valutata un'espressione o una condizione booleana. I tipi di dati di tutte le espressioni dei risultati devono essere convertibili in un singolo tipo di output.
- condizione
-
Un'espressione booleana che restituisce true o false. Se la condizione è vera, il valore dell'CASEespressione è il risultato che segue la condizione e il resto dell'CASEespressione non viene elaborato. Se la condizione è falsa, vengono valutate tutte le WHEN clausole successive. Se nessun risultato della WHEN condizione è vero, il valore dell'CASEespressione è il risultato della clausola. ELSE Se la ELSE clausola viene omessa e nessuna condizione è vera, il risultato è nullo.
Esempi
Gli esempi seguenti utilizzano la VENUE tabella e la tabella dei SALES dati di esempio. TICKIT Per ulteriori informazioni, consulta Database di esempio.
Utilizzate una semplice CASE espressione da sostituire New York City
con Big Apple
in una query sulla VENUE tabella. Sostituire tutti gli altri nomi di città con other
.
select venuecity, case venuecity when 'New York City' then 'Big Apple' else 'other' end from venue order by venueid desc;
venuecity | case -----------------+----------- Los Angeles | other New York City | Big Apple San Francisco | other Baltimore | other ...
Utilizza un'CASEespressione ricercata per assegnare i numeri ai gruppi in base al PRICEPAID valore della vendita dei singoli biglietti:
select pricepaid, case when pricepaid <10000 then 'group 1' when pricepaid >10000 then 'group 2' else 'group 3' end from sales order by 1 desc;
pricepaid | case ----------+--------- 12624 | group 2 10000 | group 3 10000 | group 3 9996 | group 1 9988 | group 1 ...