为了账号安全,请及时绑定邮箱和手机立即绑定

计算MySQL中的年龄(InnoDb)

计算MySQL中的年龄(InnoDb)

HUWWW 2019-09-02 15:43:38
如果我将一个人的出生日期存储在表格中的表格中,dd-mm-yyyy并且我从当前日期中减去它,那么返回的日期是什么格式?如何使用此返回格式计算某人的年龄?
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

如果值存储为DATETIME数据类型:


SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(dob) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(dob, 5)) as age 

  FROM YOUR_TABLE

考虑闰年时不太精确:


SELECT DATEDIFF(CURRENT_DATE, STR_TO_DATE(t.birthday, '%d-%m-%Y'))/365 AS ageInYears

  FROM YOUR_TABLE t 


查看完整回答
反对 回复 2019-09-02
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

你可以使用TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)功能:


SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age


查看完整回答
反对 回复 2019-09-02
?
达令说

TA贡献1821条经验 获得超6个赞

select *,year(curdate())-year(dob) - (right(curdate(),5) < right(dob,5)) as age from your_table

通过这种方式,您可以考虑出生的月份和日期,以便更准确地计算年龄。


查看完整回答
反对 回复 2019-09-02
  • 3 回答
  • 0 关注
  • 570 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信