>我有一个看起来像这样的表格:
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)