CASE (SQL Server Compact Edition)

Évalue une liste de conditions et renvoie une expression de résultats parmi plusieurs possibles.

La fonction CASE a deux formats :

  • La fonction CASE simple compare une expression à un ensemble d'expressions simples pour déterminer le résultat.
  • La fonction CASE élaborée évalue un ensemble d'expressions booléennes pour déterminer le résultat.

Les deux formats prennent en charge un argument ELSE facultatif.

Syntaxe

CASE input_expression 
    WHEN when_expression THEN result_expression 
        [ ...n ] 
    [ 
        ELSE else_result_expression 
    ] 
END 

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

Arguments

  • input_expression
    Expression évaluée lorsque vous utilisez le format CASE simple. L'argument input_expression peut être n'importe quelle expression valide dans Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition).
  • WHEN when_expression
    Expression simple à laquelle l'argument input_expression est comparé lorsque vous utilisez le format CASE simple. L'argument when_expression peut être n'importe quelle expression SQL Server valide. Les types de données de l'argument input_expression et de chaque argument when_expression doivent être les mêmes ou être implicitement convertis.
  • n
    Espace réservé indiquant que vous pouvez utiliser plusieurs clauses WHEN when_expression THEN result_expression ou plusieurs clauses WHEN Boolean_expression THEN result_expression .
  • THEN result_expression
    Expression renvoyée lorsque le test d'égalité entre input_expression et when_expression a pour valeur TRUE ou que Boolean_expression a pour valeur TRUE. L'argument result expression peut être n'importe quelle expression SQL Server valide.
  • ELSE else_result_expression
    Expression renvoyée si aucune opération de comparaison n'a pour valeur TRUE. Si cet argument est omis et qu'aucune opération de comparaison n'a pour valeur TRUE, CASE renvoie NULL. L'argument else_result_expression peut être n'importe quelle expression SQL Server valide. Les types de données de l'argument else_result_expression et de chaque argument result_expression doivent être les mêmes ou représenter une conversion implicite.
  • WHEN Boolean_expression
    Expression évaluée lorsque vous utilisez le format CASE élaboré. L'argument Boolean_expression représente n'importe quelle expression booléenne valide.

Types de résultats

Renvoie le type de priorité la plus élevée de l'ensemble de types dans l'argument result_expressions et l'argument else_result_expression facultatif.

Valeur retournée

Fonction CASE simple :
  • Évalue l'argument input_expression puis, dans l'ordre spécifié, évalue l'égalité entre les arguments input_expression et when_expression pour chaque clause WHEN.
  • Renvoie l'argument result_expression de la première expression (input_expression = when_expression) ayant pour valeur TRUE.
  • Si aucun test d'égalité entre les arguments input_expression et when_expression n'a pour valeur TRUE, selon qu'une clause ELSE est spécifiée ou non, l'argument else_result_expression ou NULL est renvoyé.
Fonction CASE élaborée :
  • Évalue, dans l'ordre spécifié, l'argument Boolean_expressionde chaque clause WHEN.
  • Renvoie l'argument result_expression du premier argument Boolean_expression ayant pour valeur TRUE.
  • Si aucun argument Boolean_expression n'a pour valeur TRUE, selon qu'une clause ELSE est spécifiée ou non, l'argument else_result_expression ou NULL est renvoyé.

Exemple

L'exemple ci-dessous renvoie le mode d'expédition utilisé pour les commandes passées.

SELECT ShipVia, CASE ShipVia 
    WHEN 1 THEN 'A.Datum'
    WHEN 2 THEN 'Contoso'
    WHEN 3 THEN 'Consolidated Messenger'
        ELSE 'Unknown'
        END
FROM Orders

Voir aussi

Aide et information

Assistance sur SQL Server Compact Edition