Nie jestem pewien, dlaczego uważasz, że dokumentacja jest niejasna.
Po prostu przechodzi przez wszystkie parametry jeden po drugim i zwraca pierwszy, który jest 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
Akceptuje prawie dowolną liczbę parametrów, ale powinny one mieć ten sam typ danych. (Jeśli nie mają tego samego typu danych, są niejawnie rzutowane na odpowiedni typ danych przy użyciu kolejności pierwszeństwa typów danych).
To jak ISNULL()
ale dla wielu parametrów, a nie tylko dwóch.
To także ANSI-SQL
, gdzie jako ISNULL()
nie jest.