我正在运行这个 SQL:
SELECT TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) as age FROM members
根据数据库中的时间戳计算出用户年龄。
我有 3 列(dob_year/dob_month/dob_day)
上面的查询计算出年龄,但我需要年和月。所以 age 不是 10 岁,而是 10 岁零 2 个月大。
最佳答案
SELECT
TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE())
as
years,
(TIMESTAMPDIFF(MONTH,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) -
TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE())*12)
as
months
FROM
members
关于PHP 根据时间戳计算年龄和月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19090094/