Fonctions NVL et COALESCE - AWS Clean Rooms

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonctions NVL et COALESCE

Renvoie la valeur de la première expression qui n’est pas nulle dans une série d’expressions. Lorsqu’une valeur non nulle est trouvée, les expressions restantes de la liste ne sont pas évaluées.

NVL est identique à COALESCE. Ce sont des synonymes. Cette rubrique explique la syntaxe et contient des exemples pour les deux.

Syntaxe

NVL( expression, expression, ... )

La syntaxe de COALESCE est identique :

COALESCE( expression, expression, ... )

Si toutes les expressions régulières sont null, le résultat est null.

Ces fonctions sont utiles lorsque vous souhaitez renvoyer une valeur secondaire lorsqu’une valeur primaire est manquante ou nulle. Par exemple, une requête peut renvoyer le premier des trois numéros de téléphone disponibles : portable, domicile ou travail. L’ordre des expressions dans la fonction détermine l’ordre d’évaluation.

Arguments

expression

Expression, telle qu’un nom de colonne, à évaluer pour l’état null.

Type de retour

AWS Clean Rooms détermine le type de données de la valeur renvoyée en fonction des expressions d'entrée. Si les types de données des expressions d’entrée n’ont pas de type commun, une erreur est renvoyée.

Exemples

Si la liste contient des expressions entières, la fonction renvoie un entier.

SELECT COALESCE(NULL, 12, NULL); coalesce -------------- 12

Cet exemple, qui est identique à l’exemple précédent, sauf qu’il utilise NVL, renvoie le même résultat.

SELECT NVL(NULL, 12, NULL); coalesce -------------- 12

L’exemple suivant renvoie une chaîne de caractères.

SELECT COALESCE(NULL, 'AWS Clean Rooms', NULL); coalesce -------------- AWS Clean Rooms

L’exemple suivant génère une erreur car les types de données varient dans la liste d’expressions. Dans ce cas, la liste contient à la fois un type de chaîne et un type de nombre.

SELECT COALESCE(NULL, 'AWS Clean Rooms', 12); ERROR: invalid input syntax for integer: "AWS Clean Rooms"