SQL Null值和非Null值

时间:2012-06-13 08:18:55

标签: 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值并且等于参数

由于

2 个答案:

答案 0 :(得分:3)

您的问题,特别是“我需要的值为NULL且等于参数”这一点毫无意义。 where子句:

Col1 = <parameter> AND Col1 IS NULL

永远不会为真,因为列是NULL 的东西。它不可能同时存在。

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

Col1 = <parameter> OR Col1 IS NULL

答案 1 :(得分:1)

AND替换为OR语句中的WHERE

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