sql >> Databasteknik >  >> RDS >> Sqlserver

COALESCE-funktion i TSQL

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.



  1. Hur ställer man in värde till variabel med 'execute' i t-sql?

  2. Hur man uppgraderar från MariaDB 10.4 till MariaDB 10.5

  3. Hur man övervakar PostgreSQL som körs inuti en Docker-behållare:Del ett

  4. SQL Server - stoppa eller bryt exekvering av ett SQL-skript