Gla*_*vić 215
你可以使用TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)
功能:
SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age
Run Code Online (Sandbox Code Playgroud)
OMG*_*ies 55
如果值存储为DATETIME数据类型:
SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(dob) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(dob, 5)) as age
FROM YOUR_TABLE
Run Code Online (Sandbox Code Playgroud)
考虑闰年时不太精确:
SELECT DATEDIFF(CURRENT_DATE, STR_TO_DATE(t.birthday, '%d-%m-%Y'))/365 AS ageInYears
FROM YOUR_TABLE t
Run Code Online (Sandbox Code Playgroud)
Nic*_*ssu 10
select *,year(curdate())-year(dob) - (right(curdate(),5) < right(dob,5)) as age from your_table
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以考虑出生的月份和日期,以便更准确地计算年龄.
SELECT TIMESTAMPDIFF (YEAR, YOUR_COLUMN, CURDATE()) FROM YOUR_TABLE AS AGE
Run Code Online (Sandbox Code Playgroud)
点击进行演示 ..
简约而优雅..