在30天以上且不到90天之间

时间:2013-09-11 08:34:51

标签: sql-server-2008 datediff getdate

我需要返回日期超过30天但不到90天的记录。所以,如果有人在31天前或89天前买了一些东西,我需要返回这些行,忽略过去30天以及90天以外的任何事情。

2 个答案:

答案 0 :(得分: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-DATEDIFF会截断时间部分,因此30天前意味着30天前的午夜。

Demo

答案 1 :(得分:0)

WHERE DATEDIFF(now(),date)>30 and DATEDIFF(now(),date)<90