T-SQLselect30天范围内的日期
T-SQL select date withing 30 days range
我想select所有日期在 30 天之间的行从今天开始,
所以在 22-04-2022 到 22-05-2022 之间,
我试过了
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
和 LESS 然后 22 April 2022
。
也许您希望条件为 >= Today AND < Today + 30
?
我想select所有日期在 30 天之间的行从今天开始,
所以在 22-04-2022 到 22-05-2022 之间,
我试过了
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
和 LESS 然后 22 April 2022
。
也许您希望条件为 >= Today AND < Today + 30
?