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

SQL查询问题:基于三列计算SLA并输出Late/OnTime状态

修正后的SQL查询方案

原查询存在语法错误(SQL中不能在SELECT子句里直接使用If...Else这类流程控制写法),且ELSE分支仅完成了时间差比较,未返回要求的状态值。以下是符合需求的正确查询:

SELECT 
    keyvalue,
    CASE
        WHEN deferred IS NULL THEN
            CASE 
                WHEN DATEDIFF(minute, loaded, finished) > 720 THEN 'Late'
                ELSE 'OnTime'
            END
        ELSE
            CASE 
                WHEN DATEDIFF(minute, deferred, finished) > 720 THEN 'Late'
                ELSE 'OnTime'
            END
    END AS SLA
FROM ItemTable;

逻辑说明

  • 外层CASE先判断deferred是否为NULL,选择对应的时间计算基准
  • 内层CASE根据时间差是否超过720分钟,返回'Late'或'OnTime'状态
  • 最终仅输出keyvalue和对应的SLA状态,匹配你要求的输出格式

示例输出

keyvalueSLA
ITEM001OnTime
ITEM002Late

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:25:57