5

我需要返回日期早于 30 天但少于 90 天的记录。所以如果有人在 31 天前或 89 天前买了东西,我需要返回那些行,忽略过去 30 天和 90 天以外的任何东西。

4

2 回答 2

4
WHERE DateCol < DATEADD(dd, DATEDIFF(dd, 0, DATEADD(dd,-30, GetDate())), 0)
AND   DateCol > DATEADD(dd, DATEDIFF(dd, 0, DATEADD(dd,-90, GetDate())), 0)

截断时间部分,因此DATEADD-DATEDIFF30 天前表示 30 天前的午夜。

Demo

于 2013-09-11T08:44:18.460 回答
0
WHERE DATEDIFF(now(),date)>30 and DATEDIFF(now(),date)<90
于 2013-09-11T08:58:47.293 回答