Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Hàm COALESCE trong TSQL

Tôi không chắc tại sao bạn nghĩ rằng tài liệu này mơ hồ.

Nó chỉ đơn giản là đi qua tất cả các tham số một và trả về đầu tiên là 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

Nó chấp nhận khá nhiều tham số, nhưng chúng phải cùng kiểu dữ liệu. (Nếu chúng không cùng kiểu dữ liệu, chúng sẽ được truyền ngầm sang một kiểu dữ liệu thích hợp bằng cách sử dụng thứ tự ưu tiên của kiểu dữ liệu.)

Nó giống như ISNULL() nhưng đối với nhiều tham số, thay vì chỉ hai.

Nó cũng là ANSI-SQL , where-as ISNULL() không.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để xóa bộ đệm truy vấn SQL Server?

  2. Làm cách nào để chỉ chọn các hàng đầu tiên cho mỗi giá trị duy nhất của một cột?

  3. Cách kết nối với cơ sở dữ liệu từ Unity

  4. Ví dụ về SIN () trong SQL Server

  5. Làm cách nào để liệt kê các phiên bản sẵn có của Máy chủ SQL sử dụng SMO trong C #?