Ich bin mir nicht sicher, warum Sie denken, dass die Dokumentation vage ist.
Es geht einfach alle Parameter nacheinander durch und gibt den ersten zurück, der NOT NULL
ist .
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
Es akzeptiert so ziemlich jede Anzahl von Parametern, aber sie sollten den gleichen Datentyp haben. (Wenn sie nicht denselben Datentyp haben, werden sie implizit in einen geeigneten Datentyp umgewandelt, wobei die Datentyp-Rangfolge verwendet wird.)
Es ist wie ISNULL()
aber für mehrere Parameter, anstatt nur zwei.
Es ist auch ANSI-SQL
, wobei ISNULL()
nicht.