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

Truy vấn SQL Server với IN (NULL) không hoạt động

Các thao tác so sánh hợp lệ duy nhất với NULL giá trị là IS NULL hoặc IS NOT NULL , những người khác luôn trả về false (thực tế - Không xác định, hãy xem nhận xét của @ Damien_The_Un Believer)

Vì vậy, hãy thử cách sau

CREATE TYPE [dbo].[BitType] AS TABLE(
    [B] [tinyint] NOT NULL
)
GO
declare @theBitTypeTable BitType

insert @theBitTypeTable
VALUES(0), (2 /* instead of NULL*/)

SELECT something FROM theTable WHERE IsNull(cast(item as tinyint), 2) IN (select B from @theBitTypeTable)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngày trả về dưới dạng ddmmyyyy trong SQL Server

  2. T-SQL:Làm thế nào để sử dụng các tham số trong SQL động?

  3. SQL Server PDF Full-Text Search không hoạt động trên FileStream PDF File

  4. Khắc phục sự cố Microsoft SQL Server Error 18456

  5. Kiểm tra xem một đối tượng có phải là một thủ tục được lưu trữ hay không bằng cách sử dụng OBJECTPROPERTY () trong SQL Server