CAS
Description
CASE
est une fonction de rangée qui évalue chaque rangée du jeu de données en fonction d'une ou plusieurs conditions d'entrée et génère le résultat précisé lorsque les conditions d'entrée sont remplies.Syntaxe
CASE
WHEN
input_condition
[AND
|OR
input_condition
]THEN
output_expression
[...] [ELSE
other_output_expression
] END
Valeur de retour
Retourne une valeur par rangée du même type que l'expression de sortie. Toutes les expressions de sortie doivent retourner le même type de champ.
S'il y a plusieurs expressions de sortie qui retournent des types de champs différents, vous devrez clôturer l'ensemble de votre champ
CASE
expression dans l'une des fonctions de conversion de types de champs, par exemple TO_INT
, pour transtyper explicitement toutes les valeurs de sortie dans un type de champ particulier.Paramètres d'entrée
- WHENinput_condition
- Est obligatoire. LaWHENLe mot clé est utilisé pour préciser une ou plusieurs expressions booléennes (voir les opérateurs conditionnels pris en charge). Si une valeur d’entrée remplit la condition, l’expression de sortie est appliquée. Les conditions d'entrée peuvent inclure d'autres fonctions de rangée dans leur expression, mais ne peuvent pas contenir des fonctions de récapitulation ou des expressions de mesure. Vous pouvez utiliser leANDouORdes mots clés pour combiner plusieurs conditions d'entrée.
- THENoutput_expression
- Est obligatoire. LaTHENLe mot clé est utilisé pour préciser une expression de sortie lorsque les conditions précisées sont remplies. Les expressions de sortie peuvent inclure d'autres fonctions de rangée dans leur expression, mais ne peuvent pas contenir des fonctions de récapitulation ou des expressions de mesure.
- Autre_output_expression
- Facultatif. LaELSELe mot clé peut être utilisé pour préciser une autre expression de sortie à utiliser lorsque les conditions précisées ne sont pas remplies. Si unELSEl'expression n'est pas fournie,ELSE NULLest la valeur par défaut.
- END
- Est obligatoire. Indique la fin deCASEune fonction de traitement.
Exemples
Convertissez les valeurs de la colonne
de l’âge
en regroupements fondés sur des plages (regroupement) :CASE WHEN [age] <= 25 THEN "0-25" WHEN [age] <= 50 THEN "26-50" ELSE "over 50"
END
Transformez les valeurs de la colonne
pour le sexe
d’une chaîne à une autre :CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN
"Female" ELSE "Unknown" END
La colonne
Véhicule
contient les valeurs suivantes : livré à un véhicule, à un car, à un véhicule, à un tricycle et à une voiture. L’exemple suivant convertit plusieurs valeurs de la colonne Véhicule
en une seule valeur :CASE WHEN [vehicle] in ("bike","scooter","motorcycle") THEN "two-wheelers" ELSE
"other" END