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

如何实现WHERE条件不匹配时返回NULL值的SQL查询?

实现保留所有日期行并按条件显示Data列

完全可以实现这个需求,不需要过滤行,只需要通过条件判断修改Data列的输出值即可,核心是用条件表达式替换不符合要求的Data值为NULL。

通用SQL写法(适配MySQL、PostgreSQL、SQL Server等多数数据库)

SELECT 
  Date,
  CASE WHEN Data = 'Cool' THEN Data ELSE NULL END AS Data
FROM your_table_name;

MySQL简化写法

MySQL支持IF()函数,可实现更简洁的写法:

SELECT 
  Date,
  IF(Data = 'Cool', Data, NULL) AS Data
FROM your_table_name;

效果验证

原表数据:

DateData
1Not Cool
2Cool
3Cool
4Not Cool

执行上述SQL后得到的结果:

DateData
1NULL
2Cool
3Cool
4NULL

这种写法的逻辑是:不对行做过滤(因此保留所有Date记录),仅对每行的Data值做判断——等于'Cool'则保留原内容,否则替换为NULL,完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:52:04