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

多条件Case When表达式编写咨询:多字段为空时计算日期差

解决三个字段均为空时计算天数差的CASE语句问题

嗨,我来帮你梳理这个逻辑~ 你的核心需求是只有当x、y、z三个字段全部为空时,才计算指定日期到当前的天数差,但你现在写的CASE语句逻辑是“只要其中某一个字段为空”就执行计算,这和你的需求不符哦。

问题所在

你当前的代码片段里,每个WHEN是独立判断单个字段是否为空,这会导致只要三个字段里有任意一个为空,就会触发天数计算——但你要的是三个字段同时为空才执行这个操作。

正确的写法

你需要把三个字段为空的条件用AND组合在同一个WHEN里,这样只有当所有条件都满足时,才会执行THEN里的逻辑:

CASE 
    -- 把三个字段的空判断用AND连接,确保同时为空
    WHEN UnderwritingSuspendedDate IS NULL 
         AND Milestoneapprovedwithconditions IS NULL 
         AND [你的第三个字段名] IS NULL  -- 替换成你实际的第三个字段(比如z对应的字段)
    THEN DATEDIFF(dd, SubmittedToUnderwritingDate, GETDATE())
    -- 如果需要处理“不满足三个都为空”的情况,可以加ELSE分支,比如:
    -- ELSE NULL 或者返回其他默认值
END

补充说明

  • AND是逻辑“与”运算符,只有当所有连接的条件都为真时,整个判断才成立,完美匹配你“三个字段均为空”的要求。
  • 如果后续还有其他分支逻辑(比如某两个字段为空时的处理),可以继续在CASE语句里添加新的WHEN分支,但要注意分支的顺序(CASE是按顺序匹配,第一个满足的分支会被执行)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:27:32