CASE (Entity SQL)
Valuta un set di espressioni Boolean
per determinare il risultato.
Sintassi
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
Argomenti
n
Segnaposto che indica la possibilità di usare più clausole WHEN Boolean_expression
THEN result_expression
.
THEN result_expression
Espressione restituita quando Boolean_expression
restituisce true
. result expression
è qualsiasi espressione valida.
ELSE else_result_expression
Espressione restituita se nessuna operazione di confronto restituisce true
. Se questo argomento viene omesso e nessuna operazione di confronto restituisce true
, CASE restituisce null. else_result_expression
è qualsiasi espressione valida. A else_result_expression
e a ogni occorrenza di result_expression
deve essere associato lo stesso tipo di dati o un tipo di dati convertibile in modo implicito.
WHEN Boolean_expression
Espressione Boolean
restituita quando viene usato il formato CASE cercato. Boolean_expression
è una qualsiasi espressione Boolean
valida.
Valore restituito
Restituisce il tipo con precedenza maggiore dal set di tipi in result_expression
e nell'oggetto facoltativo else_result_expression
.
Osservazioni:
L'espressione CASE in Entity SQL è simile all'espressione CASE in Transact-SQL. È possibile usare l'espressione case per eseguire una serie di test condizionali per determinare quale espressione restituirà il risultato appropriato. Questa forma dell'espressione case si applica a una serie di una o più espressioni Boolean
per determinare l'espressione risultante corretta.
La funzione CASE restituisce Boolean_expression
per ogni clausola WHEN nell'ordine specificato e restituisce result_expression
del primo oggetto Boolean_expression
che restituisce true
. Le espressioni rimanenti non vengono valutate. Se nessun oggetto Boolean_expression
restituisce true
, il motore di database restituisce else_result_expression
se è stata specificata una clausola ELSE. In caso contrario, viene restituito un valore null.
Un'istruzione CASE non può restituire un multiset.
Esempio
Nella query Entity SQL seguente viene usata l'espressione CASE per valutare un set di espressioni Boolean
per determinare il risultato. La query è basata sul modello Sales di AdventureWorks. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:
Seguire la procedura descritta in Procedura: Eseguire una query che restituisce risultati PrimitiveType.
Passare la query seguente come argomento al metodo
ExecutePrimitiveTypeQuery
:
CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END