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

如何在SQL中筛选非空数据?现有查询异常求技术协助

SQL查询语句问题排查与修正
  • 不等于运算符的写法与NULL处理问题
    原语句中[SalaryRuleCode] != ('Rule-EXP')存在两处问题:

    1. 单值比较无需加括号,直接写[SalaryRuleCode] != 'Rule-EXP'即可;
    2. 若SalaryRuleCode字段存在NULL值,!=运算符无法匹配NULL(NULL与任何值比较结果均为UNKNOWN),会遗漏这类记录。如果需要包含NULL值的行,需补充OR [SalaryRuleCode] IS NULL;若仅需排除'Rule-EXP',保持原写法即可,但建议使用标准SQL的<>替代!=(兼容性更强)。
  • EMail非空条件逻辑错误
    原条件(EMail != '' or EMail is not null)逻辑错误:当EMail为NULL时,EMail != ''结果为UNKNOWN,经OR运算后整体为TRUE,会保留NULL值的记录。若需获取非空且非空字符串的EMail数据,正确写法应为EMail IS NOT NULL AND EMail <> ''。

  • 未转义关键字字段
    Designation若为数据库保留关键字,直接使用会触发语法错误,建议统一为带方括号的格式:[Designation] = 'Peon'。

修正后的SQL示例(根据需求选择是否保留NULL处理部分):

SELECT * FROM [EmployeePIMSInfo] 
WHERE [Group] = 'Dhaka' 
  AND [SalaryRuleCode] <> 'Rule-EXP' -- 若需包含NULL值,改为AND ([SalaryRuleCode] <> 'Rule-EXP' OR [SalaryRuleCode] IS NULL)
  AND [Status] = 'Active' 
  AND [Designation] = 'Peon' 
  AND EMail IS NOT NULL 
  AND EMail <> ''

内容的提问来源于stack exchange,提问作者Mahabubur Rahman masum

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:37:27