Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Função COALESCE em TSQL


Não sei por que você acha que a documentação é vaga.

Ele simplesmente passa por todos os parâmetros um por um e retorna o primeiro que é 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

Ele aceita praticamente qualquer número de parâmetros, mas eles devem ser do mesmo tipo de dados. (Se eles não forem do mesmo tipo de dados, eles serão convertidos implicitamente para um tipo de dados apropriado usando a ordem de precedência do tipo de dados.)

É como ISNULL() mas para vários parâmetros, em vez de apenas dois.

Também é ANSI-SQL , onde-as ISNULL() não é.