Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

COALESCE Funzione in TSQL

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