如果仅表中列出出生日期,我们如何找出 MySQL 表中年龄大于 30 岁的员工?


为了理解这个概念,我们使用如下方式从表“emp_tbl”中获取数据 −

mysql> Select * from emp_tbl;
+--------+------------+
| Name   | DOB        |
+--------+------------+
| Gaurav | 1984-01-17 |
| Gaurav | 1990-01-17 |
| Rahul  | 1980-05-22 |
| Gurdas | 1981-05-25 |
| Naveen | 1991-04-25 |
| Sohan  | 1987-12-26 |
+--------+------------+
6 rows in set (0.00 sec)

mysql> SELECT Name,SYSDATE(),DOB,DATEDIFF(SYSDATE(),DOB)/365 AS AGE from emp_tbl WHERE(DATEDIFF(SYSDATE(), DOB)/365)>30;
+--------+---------------------+------------+---------+
| Name   | SYSDATE()           | DOB        | AGE     |
+--------+---------------------+------------+---------+
| Gaurav | 2017-12-26 22:33:24 | 1984-01-17 | 33.9644 |
| Rahul  | 2017-12-26 22:33:24 | 1980-05-22 | 37.6219 |
| Gurdas | 2017-12-26 22:33:24 | 1981-05-25 | 36.6137 |
| Sohan  | 2017-12-26 22:33:24 | 1987-12-26 | 30.0219 |
+--------+---------------------+------------+---------+
4 rows in set (0.10 sec)

更新于:2020 年 6 月 22 日

1 千次 + 浏览

开启你的职业生涯

通过完成课程获得认证

立即开始
广告
© . All rights reserved.