我有一个日期参数,我需要用它来查看我们的数据库中有多少人在6岁以下或者在与参数同月的6个月。
这是我的开始。 (2017-07-02参数日期)
SELECT a.name,a.firstname,a.birthday FROM adress a
WHERE a.birthday >= dateadd(year,-6, { d '2017-07-02'})
我的问题是我需要回归那些在2011-07赛季中排名第6的人。选择我有atm我只能得到6月份生日2017-07-01或2017-07-02的人。
我怎么能很好地做到这一点?
答案 0 :(得分:1)
解决了,谢谢
SELECT a.name,a.firstname,a.birthday FROM adress a
WHERE a.birthday >= dateadd(year,-6, EOMONTH({ d '2017-07-02'}))
答案 1 :(得分:0)
试试这个:
SELECT a.NAME,
a.firstname,
a.birthday
FROM adress a
WHERE Datename(mm, birthday) = Datename(mm, Getdate())
AND Datename(yy, birthday) < Datename(yy, Getdate())
AND Datename(dd, birthday) >= Datename(dd, Getdate())