我需要返回日期超过30天但不到90天的记录。所以,如果有人在31天前或89天前买了一些东西,我需要返回这些行,忽略过去30天以及90天以外的任何事情。
答案 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天前的午夜。
答案 1 :(得分:0)
WHERE DATEDIFF(now(),date)>30 and DATEDIFF(now(),date)<90