如何通过从MySql中的出生日期减去当前年份来获得年龄

时间:2021-01-18 02:42:46

标签: mysql

我正在使用 MySql 5.7.18-log

我有一个查询如下,输出结果为姓名和出生日期。

select uid,Name, Dob from table1;

数据:

uid       Name          Dob
K-1       Alex          1996-01-01 05:30:00
K-2       Mike          1983-05-26 05:30:00
K-3       Jim           1992-12-29 05:30:00

我想使用 Dob 列的年月提取年龄,并从当前年月中提取。

所需输出:

uid       Name          Dob                    Age
K-1       Alex          1996-01-01 05:30:00    25
K-2       Mike          1983-05-26 05:30:00    37
K-3       Jim           1992-12-29 05:30:00    28

1 个答案:

答案 0 :(得分:2)

这是TIMESTAMPDIFF() is your friend

SELECT t.`uid`, t.`Name`, t.`Dob`,
       TIMESTAMPDIFF(YEAR, t.`Dob`, CURDATE()) AS age
  FROM `table1` t

这将始终返回一个四舍五入到最接近的整数的整数。