如果我将一个人的出生日期存储在表格中的表格中,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
明月笑刀无情
TA贡献1828条经验 获得超4个赞
你可以使用TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)功能:
SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age
达令说
TA贡献1821条经验 获得超6个赞
select *,year(curdate())-year(dob) - (right(curdate(),5) < right(dob,5)) as age from your_table
通过这种方式,您可以考虑出生的月份和日期,以便更准确地计算年龄。
添加回答
举报
0/150
提交
取消