3 回答

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果值存儲(chǔ)為DATETIME數(shù)據(jù)類型:
SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(dob) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(dob, 5)) as age
FROM YOUR_TABLE
考慮閏年時(shí)不太精確:
SELECT DATEDIFF(CURRENT_DATE, STR_TO_DATE(t.birthday, '%d-%m-%Y'))/365 AS ageInYears
FROM YOUR_TABLE t

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
你可以使用TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)功能:
SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
select *,year(curdate())-year(dob) - (right(curdate(),5) < right(dob,5)) as age from your_table
通過這種方式,您可以考慮出生的月份和日期,以便更準(zhǔn)確地計(jì)算年齡。
添加回答
舉報(bào)