Sql 从MS Access表筛选最近3天的生日记录
我正试图根据MS Access中Sql 从MS Access表筛选最近3天的生日记录,sql,ms-access,Sql,Ms Access,我正试图根据MS Access中tb\u Employee表中的birth\u date列,筛选其生日在过去3天内(包括今天)的员工记录。 我知道我可以根据日期获得最新的3天记录: Select * from tb_Employee where ([Date_Column] >= NOW()-3 但在我的例子中,birth\u date列中的日期是过去一年(比如1975年1月18日)。请帮我修一下 例如: 如果你想要那些生日在过去三天的人,这里有一种方法: where dateseria
tb\u Employee
表中的birth\u date
列,筛选其生日在过去3天内(包括今天)的员工记录。
我知道我可以根据日期获得最新的3天记录:
Select * from tb_Employee where ([Date_Column] >= NOW()-3
但在我的例子中,birth\u date
列中的日期是过去一年(比如1975年1月18日)。请帮我修一下
例如:
如果你想要那些生日在过去三天的人,这里有一种方法:
where dateserial(year(date()), month(dob), day(dob)) in
(
date(), dateadd("d", -1, date()), dateadd("d", -2, "date"),
dateadd("y", 1, dateadd("d", -1, date())),
dateadd("y", 1, dateadd("d", -2, "date"))
)
最后两个是12月30日和12月31日。我建议:
select * from tb_employee
where
(dateserial(year(date()),month(birthday_date),day(birthday_date)) between date()-3 and date()) or
(dateserial(year(date())-1,month(birthday_date),day(birthday_date)) between date()-3 and date())
简而言之,此查询说明:
“选择今年生日在过去3天到今天之间,或去年生日在过去3天到今天之间的员工”过去一年中
18/1/1975
情况如何?样本数据和期望的结果会有所帮助。@GordonLinoff我想他们的意思是“过去一年”