转译自 How To Calculate Age From Date Of Birth In MySQL- Querychat,中文转载,请注明出处。
使用SQL语句计算年龄,在事务处理和日期计算中,较为常见。MySQL提供了许多日期函数,可以自由发挥。本文中看我们尝试
SQL 年龄计算 —— 组件
MySQL没有开箱即用的工具,用于计算年龄。所以,这也阻挡不了我们求知的热情。工具不够,自己来凑。没有直接的函数,我们就用给的函数,组装出来一个。
说白了,年龄就是啷个日期差。当前日期,减去生日。那就是年龄。
MySQL已经提供的函数,下面介绍一下:
CURDATE() – 返回当前日期
TIMESTAMPDIFF() – 计算时间差,差值单位自定义
这俩函数就够了,日期差,获取年差值,月差值,或者其他。
CURDATE() 返回MySQL服务器运行时间。无需传参,调用如下:
CURDATE()
TIMESTAMPDIFF() 调用格式如下:
TIMESTAMPDIFF(unit, begin_date, end_date)
单位unit决定了返回数值。unit的可选项如下:
YEAR
QUARTER
MONTH
WEEK
DAY
HOUR
MINUTE
SECOND
MICROSECOND
那,我们试着组合起来,写个公式:
SELECT TIME