Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 未来年满65岁的员工_Mysql - Fatal编程技术网

Mysql 未来年满65岁的员工

Mysql 未来年满65岁的员工,mysql,Mysql,我的系统中有5万多人,他们的DOB表名为Employee,列名为Birth\u date 我正试图找到未来65岁的人的名单。有人能帮我写这个查询吗?试试这个查询: select * from Employee where Birth_date Between ('<future date'> - Interval 65 year ) AND ('<future date'> + Interval 1 day - Interval 65 year ) 从出生日期介于(

我的系统中有5万多人,他们的DOB表名为Employee,列名为Birth\u date 我正试图找到未来65岁的人的名单。有人能帮我写这个查询吗?

试试这个查询:

select * from Employee where Birth_date Between ('<future date'> - Interval 65 year ) AND  ('<future date'> + Interval 1 day - Interval 65 year ) 
从出生日期介于(”之间的员工中选择*,使用日期算术:

SELECT *
FROM Employee
WHERE Birth_date <= '2014-07-15' - INTERVAL 65 YEAR

同样,用你想检查的任何日期替换硬编码日期。

所有65岁以下的人。我需要的是一个还没有到65岁但将来会到65岁的人。是的,这就是“所有65岁以下的人”,除非你预测的是员工的死亡。欢迎这么说!重点是:你的问题没有显示出任何证据表明你已经为自己解决这个问题付出了一些努力。到目前为止你做了哪些努力?为什么没有成功?缩小你的问题范围,不要期望人们为你做所有的工作。我当然尝试过多次,不是吗hru在这个网站上发布问题之前,已经有很多网站解决了这个问题,但都没办法解决。OP询问的是一个任意的未来日期,而不是已经65岁的人,所以
NOW()EdCotoRell注意到,在之间看到UpDATEnICE使用<代码>。对于性能,我们希望谓词在一个方面引用裸列。这将使优化器能够考虑使用索引范围扫描,如果有适当的索引可用。也就是说,我们真的希望看到“文字”上的“日期算术”。这将只执行一次,而不必为表中的每一行执行“日期算术”…例如,
birth\u date@spencer7593很好;我已经更新了我的答案。
SELECT *
FROM Employee
WHERE Birth_date BETWEEN NOW() - INTERVAL 65 YEAR AND '2025-01-01' - INTERVAL 65 YEAR