COALESCE est utilisé pour vérifier si l’argument est NULL, s’il est NULL, il prend la valeur par défaut.
Il vérifiera séquentiellement les valeurs NON NULLES dans la liste et retournera la première valeur NON NULLE.
Syntaxe:
COALESCE(Argument list,)
Liste d’arguments – Peut être des colonnes d’une table ou des expressions
FUSIONNENT renvoie NULL si tous ses arguments sont évalués à null.
Sinon, il renvoie la valeur du premier argument non nul dans la liste d’expressions donnée.
Chaque fonction de COALESCENCE doit avoir au moins deux opérandes. Soit deux colonnes, soit une colonne avec une valeur par défaut.
Il est possible d’avoir plusieurs colonnes sous coalescence comme ci-dessous:
COALESCE(col1, col2, col3, 0)
Le code ci-dessus indique que si col1 est null, il vérifiera col2.
Si col2 est null, il vérifiera col3.
Si col3 est également null, alors 0 sera la sortie.
Si coalesce rencontre une colonne n’ayant pas de valeur nulle, la valeur de la colonne sera renvoyée par la requête. (Priorité de gauche à droite)
Exemple : 1
Si le pays prend une valeur NULLE, ‘US’ sera fourni par la sortie Teradata
SELECT COALESCE(Country,'US') as Output
Pays | Sortie |
---|---|
Italie | Italie |
NULL | NOUS |
Exemple : 2
L’exemple suivant renvoie le numéro de téléphone résidentiel de l’individu nommé (s’il est présent), ou le téléphone de bureau si le numéro de téléphone domestique est nul, ou le téléphone portable s’il est présent et que les valeurs de téléphone domestique et de téléphone de bureau sont nulles. Renvoie NULL si les trois valeurs sont null.
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;
Lorsqu’une valeur par défaut est fournie, la valeur par défaut sera renvoyée si tous les champs de saisie sont nuls
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;
Exemple: 3
Chaque fois que vous combinez COALESCE avec des opérateurs non comparatifs, tels que || ou * ou +, vous devez placer la fonction COALESCE entière et ses opérandes entre parenthèses.
SELECT (COALESCE(100,0)) * 5;