猿问

计算MySQL中的年龄(InnoDb)

如果我将一个人的出生日期存储在表格中的表格中,dd-mm-yyyy并且我从当前日期中减去它,那么返回的日期是什么格式?


如何使用此返回格式计算某人的年龄?


HUWWW
浏览 575回答 3
3回答

慕无忌1623718

如果值存储为DATETIME数据类型:SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(dob) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(dob, 5)) as age&nbsp;&nbsp; FROM YOUR_TABLE考虑闰年时不太精确:SELECT DATEDIFF(CURRENT_DATE, STR_TO_DATE(t.birthday, '%d-%m-%Y'))/365 AS ageInYears&nbsp; FROM YOUR_TABLE t&nbsp;

明月笑刀无情

你可以使用TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)功能:SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age

达令说

select *,year(curdate())-year(dob) - (right(curdate(),5) < right(dob,5)) as age from your_table通过这种方式,您可以考虑出生的月份和日期,以便更准确地计算年龄。
随时随地看视频慕课网APP

相关分类

MySQL
我要回答