T-SQL选择30天范围内的日期



我想选择从今天起30天内的所有行,

因此,在2022年4月22日至2022年5月22日期间,

我试过

SELECT DATEXP, ID FROM TABLE
where DATEXP > cast(getdate() + 30 as date) and DATEXP <= cast(getdate() as date)

但这似乎不起作用

您应该在此处使用DATEADD()函数:

SELECT DATEXP, ID
FROM yourTable
WHERE DATEXP >= GETDATE() AND DATEXP < DATEADD(day, 30, GETDATE());

还要注意,你的不平等是不正确的。您应该在左侧GTE比较中有较早的日期,在右侧LT比较中有较晚的日期。

您的情况似乎是错误的,您预计日期是>= Today + 30天,但比今天少。

例如,如果。

今天是22 April 2022

今天+30=22 May 2022

如果我有一个日期DATEXP,比如说23 May 2022,它不可能同时是>= 22 May 2022和小于22 April 2022

也许您希望条件为>= Today AND < Today + 30

最新更新