【发布时间】:2015-05-22 19:03:11
【问题描述】:
我正在尝试创建一个查询以仅显示 50 岁以上的人,但我遇到了困难,因为我只有 DOB 而不是年龄字段。
有什么建议吗?谢谢
【问题讨论】:
标签: mysql
我正在尝试创建一个查询以仅显示 50 岁以上的人,但我遇到了困难,因为我只有 DOB 而不是年龄字段。
有什么建议吗?谢谢
【问题讨论】:
标签: mysql
假设您将 DOB 保存为 date 或 datetime 数据类型,您可以使用 timestampdiff as
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)
【讨论】:
【讨论】: