SQL 将列中的日期与系统日期进行比较

时间:2021-04-20 07:26:38

标签: sql sql-server tsql

我有一列 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()+7between 都没有用...谁能帮我解决这个问题?谢谢!

1 个答案:

答案 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'
相关问题