Condividi tramite


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:

  1. Seguire la procedura descritta in Procedura: Eseguire una query che restituisce risultati PrimitiveType.

  2. Passare la query seguente come argomento al metodo ExecutePrimitiveTypeQuery :

CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END

Vedi anche