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

如何对比最后一次运行日期与当前日期并计算间隔天数?

解决方案:计算最后一次运行日期与当前日期的间隔天数
SELECT
    CAST(GETDATE() AS Date) AS Today,
    Run_Date,
    COUNT(Run_Date) AS Daily_Count,
    Days_Since_Last_Run_Date = CASE 
        WHEN ROW_NUMBER() OVER(ORDER BY Run_Date DESC) = 1 
        THEN CAST(DATEDIFF(DAY, Run_Date, CAST(GETDATE() AS Date)) AS NVARCHAR(10))
        ELSE ''
    END
FROM tblUnitsOfWork
WHERE Run_Date >= '2023-07-10'
GROUP BY Run_Date
ORDER BY Run_Date DESC;

关键调整说明

  • 移除冗余的DISTINCT:GROUP BY Run_Date已经确保每个运行日期仅返回一行,无需额外去重
  • 重构间隔天数计算逻辑:
    • 通过ROW_NUMBER() OVER(ORDER BY Run_Date DESC)定位最后一次运行的记录(行号=1)
    • 仅对该行用DATEDIFF(DAY, Run_Date, CAST(GETDATE() AS Date))计算与当前日期的间隔天数,其他行留空
  • 统一日期格式:用CAST(GETDATE() AS Date)去除时间部分,避免时间干扰日期对比的准确性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:34:50