sql >> Database teknologi >  >> RDS >> Sqlserver

COALESCE-funktion i TSQL

Jeg er ikke sikker på, hvorfor du mener, at dokumentationen er vag.

Den gennemgår simpelthen alle parametrene én efter én og returnerer den første, der er 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

Det accepterer stort set et hvilket som helst antal parametre, men de bør være af samme datatype. (Hvis de ikke er den samme datatype, bliver de implicit castet til en passende datatype ved hjælp af datatypeprioritetsrækkefølge.)

Det er ligesom ISNULL() men for flere parametre i stedet for kun to.

Det er også ANSI-SQL , hvor-som ISNULL() er det ikke.



  1. Få den sidste dag i måneden i SQL

  2. Postgres bruger ikke indeks, når indeksscanning er meget bedre mulighed

  3. MariaDB i Tokyo

  4. Sådan maskerer du borde og bevarer referenceintegritet