Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Funkcja COALESCE w TSQL

Nie jestem pewien, dlaczego uważasz, że dokumentacja jest niejasna.

Po prostu przechodzi przez wszystkie parametry jeden po drugim i zwraca pierwszy, który jest 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

Akceptuje prawie dowolną liczbę parametrów, ale powinny one mieć ten sam typ danych. (Jeśli nie mają tego samego typu danych, są niejawnie rzutowane na odpowiedni typ danych przy użyciu kolejności pierwszeństwa typów danych).

To jak ISNULL() ale dla wielu parametrów, a nie tylko dwóch.

To także ANSI-SQL , gdzie jako ISNULL() nie jest.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Pivot z wieloma kolumnami

  2. Paginacja w SQL Server za pomocą OFFSET/FETCH

  3. WSTAW W vs WYBIERZ W

  4. Model odzyskiwania zmian SQL Server

  5. Jak utworzyć klucz złożony za pomocą programu SQL Server Management Studio?