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

SQL SELECT查询返回非预期数据,排除M或Missing值规则未生效

SQL查询问题排查及修正

现有语句的错误点

  • 逻辑运算符优先级错误:SQL中AND优先级高于OR,原语句的WHERE条件会被默认解析为 temp<0 OR (wind_chill<0 AND wind_spd_flag NOT 'M') OR 'Missing',完全不符合预期逻辑
  • 不等于判断语法错误:SQL中判断值不相等需要使用!=或<>操作符,wind_spd_flag NOT 'M'属于非法语法
  • 多值排除逻辑错误:判断字段不在多个指定值中需要使用NOT IN (值1,值2)的结构,原语句中的OR 'Missing'会被识别为布尔判断,非空字符串会被判定为真,直接导致过滤条件失效

修正后的SQL语句

SELECT temp, wind_chill, wind_spd_flag
FROM weather
WHERE (temp < 0 OR wind_chill < 0)
AND wind_spd_flag NOT IN ('M', 'Missing');

修正说明

  • 用括号包裹temp < 0 OR wind_chill < 0,明确优先级,保证先筛选出温度或风寒指数小于0的行
  • 用NOT IN ('M', 'Missing')实现多值排除,逻辑清晰也避免出现语法错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:27:03