Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Функция COALESCE в TSQL

Не съм сигурен защо смятате, че документацията е неясна.

Той просто преминава през всички параметри един по един и връща първия, който е 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() не е.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайте SCOPE_IDENTITY(), за да върнете последно въведената стойност на самоличността в същия обхват (SQL сървър)

  2. Създайте публичен профил по подразбиране за поща от база данни в SQL Server (T-SQL)

  3. Създайте база данни на SQL Server с Azure Data Studio

  4. Каква е целта на репликацията на данни?

  5. Какво е форматен низ в SQL Server?