Не съм сигурен защо смятате, че документацията е неясна.
Той просто преминава през всички параметри един по един и връща първия, който е 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
Той приема почти произволен брой параметри, но те трябва да са от същия тип данни. (Ако не са от един и същ тип данни, те се прехвърлят имплицитно към подходящ тип данни, като се използва ред на приоритет на типа данни.)
Това е като ISNULL()
но за множество параметри, а не само за два.
Също така е ANSI-SQL
, където-като ISNULL()
не е.