Non sono sicuro del motivo per cui pensi che la documentazione sia vaga.
Passa semplicemente attraverso tutti i parametri uno per uno e restituisce il primo che è 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
Accetta praticamente qualsiasi numero di parametri, ma dovrebbero essere dello stesso tipo di dati. (Se non sono dello stesso tipo di dati, vengono trasmessi implicitamente a un tipo di dati appropriato utilizzando l'ordine di precedenza del tipo di dati.)
È come ISNULL()
ma per più parametri, anziché solo due.
È anche ANSI-SQL
, dove-come ISNULL()
non lo è.