我有一个名为member的SQL表,其中我有成员信息,并且在该信息中有他们的出生日期。
我需要列出25岁以上的所有人。现在,我得到了这个:
SELECT * FROM members
WHERE DATEDIFF(year, birthday, GETDATE() ) > 25
唯一的问题是它没有考虑到今年年满25岁的所有人......
如何添加今年1月和2月年满25岁的所有人?
有人能帮助我吗?
谢谢!
答案 0 :(得分:7)
不要使用datediff()
。只需减去当前日期的年份:
where birthday < dateadd(year, -25, getdate())
答案 1 :(得分:1)
尝试将25年添加到他们的生日,然后比较现在。如果&lt; =,则他们年龄超过25岁。
SELECT *
FROM members
WHERE DATEADD(year, 25, birthday) <= getdate()