FirebirdSQL logo
Recherche CASE
Syntaxe
CASE
  WHEN <bool_expr> THEN <result>
  [WHEN <bool_expr> THEN <result> …]
  [ELSE <defaultresult>]
END

Ici <bool_expr> est une expression qui donne un triple résultat logique : TRUE, FALSE ou NULL.La première expression qui retourne TRUE définit le résultat.Si aucune expression ne retourne TRUE, le résultat par défaut de la branche ELSE est pris comme résultat.Si aucune expression ne retourne TRUE et qu’il n’y a pas de branche ELSE, le résultat est NULL.

Comme avec l’instruction simple CASE, les résultats ne doivent pas nécessairement être des valeurs littérales : ils peuvent être des champs ou des noms de variables, des expressions complexes ou NULL.

Example 1. Utilisation d’un moteur de recherche CASE
CANVOTE = CASE
  WHEN AGE >= 18 THEN 'Yes'
  WHEN AGE < 18 THEN 'No'
  ELSE 'Unsure'
END;

En termes de NULL

NULL n’est pas une valeur — c’est un état indiquant que la valeur de l’élément est inconnue ou n’existe pas.Ce n’est pas zéro, ni void, ni `chaîne vide', et il ne se comporte pas comme l’une de ces valeurs.

Lorsque vous utilisez NULL dans des expressions numériques, de chaîne de caractères ou de date/heure, vous obtenez toujours NULL.Lorsque vous utilisez NULL dans des expressions logiques (booléennes), le résultat dépendra du type d’opération et des autres valeurs impliquées.Si vous comparez une valeur à NULL, le résultat sera indéfini (UNKNOWN).

Important

Le résultat logique indéfini UNKNOWN est également représenté par la pseudo-valeur NULL.