如果我將一個人的出生日期存儲在表格中的表格中,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
提交
取消