我正在尝试创建一个查询,仅显示年龄超过50岁的人,但我遇到困难,因为我只有DOB而不是年龄段。
有什么建议吗?谢谢
答案 0 :(得分:0)
假设您将DOB保存在date
或datetime
数据类型中,您可以使用 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)