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

Cập nhật tất cả các giá trị SQL NULL trong nhiều cột bằng mệnh đề WHERE cấp cột?

Không có bất kỳ quy ước nào về điều này - nếu bạn chỉ muốn xử lý các bản ghi trong đó các cột tương ứng là NULL, bạn cần sử dụng:

WHERE Answer_1 IS NULL 
   OR Answer_2 IS NULL 
   OR ...

Nhưng bạn có thể sử dụng điều này trong câu lệnh UPDATE:

UPDATE YOUR_TABLE
   SET col1 = COALESCE(col1, 99),
       col2 = COALESCE(col2, 99),
       col3 = ...

Logic là giá trị sẽ chỉ được cập nhật thành 99 nếu giá trị cột là NULL, vì cách hoạt động của COALESCE - trả về giá trị không phải NULL đầu tiên (xử lý danh sách được cung cấp từ trái sang phải).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peta Poco mệnh đề where

  2. Xuất bảng thành tệp có tiêu đề cột (tên cột) bằng tiện ích bcp và SQL Server 2008

  3. Sử dụng COL_LENGTH () để lấy độ dài của cột trong SQL Server

  4. Chọn một cột nếu cột khác rỗng

  5. Cách xóa một ký tự cụ thể khỏi chuỗi, chỉ khi nó là ký tự đầu tiên hoặc cuối cùng trong chuỗi.