You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL查询拼接中同时包含选定值与NULL值?

多类别过滤时同时包含选定值与NULL的SQL拼接问题解决方法

你的问题核心是逻辑运算符优先级错误加上字符串拼接冗余,导致筛选逻辑不符合预期:

  • AND的优先级高于OR,原写法会被数据库解析为 (原查询条件 AND Color Is Null) OR Color='选定值',这使得Color为选定值的记录不受原查询条件约束,同时还因重复拼接query导致SQL语句混乱。

修正后的代码如下:

If Nz(colorFilter, "-") <> "All" Then
    query = query & " AND (Color Is Null OR Color=" & Chr(34) & Me.colorFilter & Chr(34) & ")"
End If

关键说明:

  • 用括号将Color Is Null OR Color='选定值'包裹,让这两个条件作为一个整体与原查询条件通过AND关联,确保最终筛选出满足原查询条件,且Color为选定值或NULL的记录。
  • 移除了末尾多余的query拼接,避免SQL语句出现重复逻辑或语法错误。

内容的提问来源于stack exchange,提问作者piximi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:56:50