我想选择从今天起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
?