1

我想知道你是否知道如何在我做调度程序时每 3 天计算一次差异。

SELECT DISTINCT 
    CLAIM_NO,
    ModifiedBy,
    ClaimType,
    ClaimStatus,
    EmailAddress,
FROM EP_ADMIN_ITEM_REMINDER
WHERE Status = 1 AND DATEDIFF(Day,DateAdded,getdate()) = 3

这是我在 DATEDIFF 中的代码,我将其放入 WHERE 子句中,我有 2 列用于日期 1st DateAdded 2nd DateSent。我需要每 3 天安排一次我的事情,所以它会首先更新日期,它会检查日期是否比添加到 3 中的日期更格雷特。我只想知道我的WHERE条款是否正确。谢谢

4

2 回答 2

6
SELECT DISTINCT 
CLAIM_NO,
ModifiedBy,
ClaimType,
ClaimStatus,
EmailAddress,
FROM EP_ADMIN_ITEM_REMINDER
WHERE Status = 1 AND DATEDIFF(Day,DateAdded,getdate()) > 2
于 2012-10-01T13:57:59.530 回答
2

牢记 SARGability。具体来说,运行像你这样的函数会降低性能(我不记得 DATEDIFF 是否为此进行了优化),因为它必须为每一行运行它。尝试

WHERE [DateAdded] > DATEADD(day, -3, getdate())
于 2012-10-01T17:27:42.937 回答