我有一张有两栏生日和周年纪念的桌子。我想得到有关生日和周年纪念日之间7天的时间,但不应该包括年份(显然,如果我包括年份,它将永远少于当前日期)。我想提前7天收到警报。
也就是说,查询应该将生日和周年纪念日与当前日期进行比较,并返回一个列表,如果它们的生日或周年纪念日在同一个月的7天之间,那么它就会提前提醒我即将到来的生日和周年纪念日。
发布于 2013-08-23 06:42:55
减去从现在到请求日期的年差,然后使用datediff计算结果与请求日期之间的日期差异。
SELECT *
FROM Table
WHERE DATEDIFF(dd,DATEADD(yyyy,-DATEDIFF(yyyy,Birthday,GETDATE()),GETDATE()),Birthday) BETWEEN 0 AND 7
OR DATEDIFF(dd,DATEADD(yyyy,-DATEDIFF(yyyy,Anniversary,GETDATE()),GETDATE()),Anniversary) BETWEEN 0 AND 7发布于 2013-08-23 06:39:38
尝尝这个
SELECT Name,max(Table .birthdate)
FROM Table group by Table .Name having (datediff(day,max(birthdate),getutcdate())>7 and datediff(day,max(birthdate),getutcdate())<8)https://stackoverflow.com/questions/18396237
复制相似问题