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

如何用COALESCE跳过特定值'1900-01-01'实现日期选择?

最优SQL写法实现需求

可以利用NULLIF函数配合COALESCE来实现,完全不需要CASE WHEN:

COALESCE(date1, NULLIF(date2, '1900-01-01'), date3)

逻辑说明

  • NULLIF(date2, '1900-01-01')会判断date2是否等于'1900-01-01':如果是,返回NULL;否则返回date2本身。
  • 外层的COALESCE会按顺序取值:优先取date1,若date1为NULL,则取NULLIF处理后的date2值——如果原date2是无效的'1900-01-01',这里会变成NULL,COALESCE就会自动跳过,转而取date3;如果原date2是有效日期,就直接使用该值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:00:16