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

SQL查询5-8月及Date1为NULL记录不返回NULL行问题求解

核心问题
  • SQL中不存在= NULL的合法判断逻辑:NULL表示未知值,任何运算符(包括=、!=、<、>等)和NULL比较的结果都是未知,WHERE条件只会返回判定为真的行,因此month(Date1)=null永远不会匹配到任何记录。
  • 对空值的判断必须使用专用的IS NULL语法,同时你可以直接判断Date1 IS NULL,不需要套month函数,执行效率更高也更准确。
修正后的查询语句
select Date1, name
from t1
where (month(Date1) >=5 and month(Date1) <=8) 
   or Date1 IS NULL;

你也可以把月份判断简化为month(Date1) between 5 and 8,逻辑完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:21:01