我的系统中有超过50K的人,其DOB的表名为Employee,column_name为Birth_date 我正在努力寻找未来约会65岁的人员名单。有人可以帮我,我该怎么写这个查询?
答案 0 :(得分:3)
使用日期算术:
SELECT *
FROM Employee
WHERE Birth_date <= '2014-07-15' - INTERVAL 65 YEAR
将2014-07-15
替换为您要测试的日期。
编辑:根据您的评论,您只想要那些尚未成为65岁的人,但将会是将来某个日期。在这种情况下,试试这个:
SELECT *
FROM Employee
WHERE Birth_date BETWEEN NOW() - INTERVAL 65 YEAR AND '2025-01-01' - INTERVAL 65 YEAR
再次,将硬编码日期替换为您要检查的内容。
答案 1 :(得分:0)
尝试此查询:
select * from Employee where Birth_date Between ('<future date'> - Interval 65 year ) AND ('<future date'> + Interval 1 day - Interval 65 year )