好的,所以我知道这个问题:
当SET ANSI_NULLS为ON时,对空值的所有比较均评估为UNKNOWN
但是,我正在尝试查询DataTable。
DataTable
我可以添加到我的查询:
OR col_1 IS NULL OR col_2 IS NULL
对于每列,但我的表有47列,并且我正在构建动态SQL(字符串连接),这样做似乎很痛苦。还有其他解决方案吗?
我要带回所有NULL在WHERE比较中具有值的行。
NULL
WHERE
更新
给我带来问题的查询示例:
string query = col_1 not in ('Dorothy', 'Blanche') and col_2 not in ('Zborna', 'Devereaux') grid.DataContext = dataTable.Select(query).CopyToDataTable();
(如果/何时col_1 = null和/或不检索行col_2 = null)
col_1 = null
col_2 = null
所以你的意思是(例如2列示例)
WHERE (col1 = 'abc' or col1 is null) AND (col2 = 3 or col2 is null)
但是您想始终包含空值吗?这应该工作
WHERE isnull(col1,'abc') = 'abc' AND isnull(col2, 3) = 3