回答

收藏

当字段具有NULL值时,SQL WHERE子句不返回行

技术问答 技术问答 238 人阅读 | 0 人回复 | 2023-09-12

好吧,所以我知道这个问题:
' Z; ]5 B; x5 c! d, Q当SET ANSI_NULLS为ON当时,所有对空值的比较都被评估为UNKNOWN" z/ z. P' G) F" L) r" O7 h* z$ M
where子句中的SQL和NULL值9 e: Z$ \/ F. H: G- ^, I
SQL Server返回与值不等于和NULL的行
但是,我正在尝试查询DataTable。
, }' k8 q$ W7 X- C0 D7 x我可以添加我的查询:
8 e; ~! J4 i$ h* k; l0 r  POR col_1 IS NULL OR col_2 IS NULL每列,但我的表有47列,我正在构建动态SQL(字符串连接),这似乎很痛苦。还有其他解决方案吗?$ U! }, K2 r6 w  F
我想把一切都带回去NULL在WHERE比较中有值的行。: @* T' m& o) J1 f* t+ B, m4 ^* P
更新
0 A% j9 `% z/ }9 w给我带来问题的查询示例:. m! o$ b. N* l& _3 Y
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)7 T$ {6 y0 ?. _& [# U9 W
                                                                2 \$ h( h2 e( V1 e
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则