Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Fonction COALESCE dans TSQL

Je ne sais pas pourquoi vous pensez que la documentation est vague.

Il parcourt simplement tous les paramètres un par un et renvoie le premier qui est NOT NULL .

COALESCE(NULL, NULL, NULL, 1, 2, 3)
=> 1


COALESCE(1, 2, 3, 4, 5, NULL)
=> 1


COALESCE(NULL, NULL, NULL, 3, 2, NULL)
=> 3


COALESCE(6, 5, 4, 3, 2, NULL)
=> 6


COALESCE(NULL, NULL, NULL, NULL, NULL, NULL)
=> NULL

Il accepte à peu près n'importe quel nombre de paramètres, mais ils doivent être du même type de données. (S'ils ne sont pas du même type de données, ils sont implicitement convertis en un type de données approprié en utilisant l'ordre de priorité des types de données.)

C'est comme ISNULL() mais pour plusieurs paramètres, plutôt que deux seulement.

C'est aussi ANSI-SQL , où-comme ISNULL() n'est pas.