我有一列 st_duedate
有多个日期。
我想将这些日期与系统日期进行比较,并为它们的到期时间添加一列。
我目前在 SSMS 中有以下代码,用于查找系统日期和当前系统日期之前的日期。
CASE
WHEN st_duedate < GETDATE() THEN 'Overdue'
WHEN st_duedate = GETDATE() THEN 'Due Today'
END AS 'Due when'
我想在此“到期时间”列中添加“7 天内到期”和“7 天后到期”。因此,查看 between > system date and <= 7
表示“7 天内到期”,然后查看 system date > 7
表示“7 天后到期”。
我试过 GETDATE()+7
和 between
都没有用...谁能帮我解决这个问题?谢谢!
答案 0 :(得分:3)
您可以使用 DATEDIFF 函数。
CASE
WHEN DATEDIFF(day,st_duedate,getdate()) <= 7 THEN 'Due within 7 Days'
WHEN DATEDIFF(day,st_duedate,getdate()) > 7 THEN 'Due after 7 Days'
END AS 'Due when'