SQL 空值和非空值

  • 本文关键字:空值 SQL sql
  • 更新时间 :
  • 英文 :


>我有一个看起来像这样的表格:

ID (pk,int)
Col1 (nvarchar)
Col2 (nvarchar)
Col3 (nvarchar)

在所有列(ID 除外)中,某些值为 NULL。

我想进行如下所示的查询:

SELECT * FROM Table 
WHERE (Col1=<parameter> AND Col1 IS NULL)
 +    (Col2=<parameter> AND Col2 IS NULL)
etc.

我需要 NULL 且等于参数的值

谢谢

您的问题,特别是"我需要 NULL 且等于参数的值",毫无意义。where 子句:

Col1 = <parameter> AND Col1 IS NULL

永远不会是真的,因为列要么是 NULL 要么是其他什么。它不能同时是两者。

如果您的意思是您希望值等于参数 OR NULL,则应使用:

Col1 = <parameter> OR Col1 IS NULL

WHERE语句中的AND替换为OR

WHERE (Col1=<parameter> OR Col1 IS NULL)
ANd   (Col2=<parameter> OR Col2 IS NULL)

最新更新