Partager via


CASE (Entity SQL)

Évalue un ensemble d'expressions Boolean pour déterminer le résultat.

Syntaxe

CASE
     WHEN Boolean_expression THEN result_expression
    [ ...n ]
     [
    ELSE else_result_expression
     ]
END

Arguments

n Espace réservé indiquant que plusieurs clauses WHEN Boolean_expression THEN result_expression peuvent être utilisées.

THEN result_expression Expression retournée quand Boolean_expression a la valeur true. result expression peut être une expression valide quelconque.

ELSE else_result_expression Expression retournée si aucune opération de comparaison ne donne true. Si cet argument est omis et qu'aucune opération de comparaison n'a la valeur true, CASE retourne la valeur Null. else_result_expression peut être une expression valide quelconque. Les types de données de else_result_expression et celui de tout argument result_expression doivent être identiques ou permettre une conversion implicite.

WHEN Boolean_expression Expression Boolean évaluée quand le format CASE recherché est utilisé. Boolean_expression peut être une expression Boolean valide quelconque.

Valeur de retour

Retourne le type de priorité le plus élevé de l'ensemble des types dans result_expression ainsi que la valeur facultative else_result_expression.

Notes

L’expression Entity SQL case ressemble à l’expression Transact-SQL case. Vous pouvez utiliser l'expression case pour effectuer une série de tests conditionnels visant à identifier l'expression qui produira le résultat approprié. Cette forme de l'expression case s'applique à une série d'une ou de plusieurs expressions Boolean pour déterminer l'expression résultante correcte.

La fonction CASE évalue Boolean_expression pour chaque clause WHEN dans l'ordre spécifié et retourne l'expression result_expression de la première expression Boolean_expression qui prend la valeur true. Les expressions restantes ne sont pas évaluées. Si aucune expression Boolean_expression ne prend la valeur true, le moteur de base de données retourne l'expression else_result_expression si une clause ELSE est spécifiée ou la valeur Null dans le cas contraire.

Une instruction CASE ne peut pas retourner de multiset.

Exemple

La requête Entity SQL ci-dessous utilise l'expression CASE pour évaluer un ensemble d'expressions Boolean afin de déterminer le résultat. Cette requête est basée sur le modèle de vente AdventureWorks Sales Model. Pour compiler et exécuter cette requête, procédez comme suit :

  1. Suivez la procédure indiquée dans Comment : Exécuter une requête qui retourne des résultats PrimitiveType.

  2. Transmettez à la méthode ExecutePrimitiveTypeQuery la requête suivante en tant qu'argument :

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

Voir aussi