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 é.