Jag är inte säker på varför du tycker att dokumentationen är vag.
Den går helt enkelt igenom alla parametrar en efter en och returnerar den första som är 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
Den accepterar i stort sett hur många parametrar som helst, men de bör vara av samma datatyp. (Om de inte är av samma datatyp, castas de implicit till en lämplig datatyp med hjälp av datatyps prioritetsordning.)
Det är som ISNULL()
men för flera parametrar, snarare än bara två.
Det är också ANSI-SQL
, där-som ISNULL()
är det inte.