Mysql查询显示人们年龄超过一定年龄

时间:2015-03-19 15:17:29

标签: mysql

我正在尝试创建一个查询,仅显示年龄超过50岁的人,但我遇到困难,因为我只有DOB而不是年龄段。

有什么建议吗?谢谢

2 个答案:

答案 0 :(得分:0)

假设您将DOB保存在datedatetime数据类型中,您可以使用 timestampdiff 作为

select * from table_name
where  timestampdiff(year,dob,curdate()) > 50

这是一个测试用例

mysql> select timestampdiff(year,'1960-01-20',curdate()) as age ;
+------+
| age  |
+------+
|   55 |
+------+
1 row in set (0.00 sec)

mysql> select timestampdiff(year,'1950-01-20',curdate()) as age ;
+------+
| age  |
+------+
|   65 |
+------+
1 row in set (0.00 sec)

答案 1 :(得分:0)

假设dob列数据类型为DateTime

SELECT *
FROM tblname
where YEAR(CURDATE()) - YEAR(dob) > 55

DEMO SQL FIDDLE