我正在运行这个SQL:
从成员中选择TIMESTAMPDIFF(年份,CONCAT(dob_year,'-',dob_month,'-',dob_day)作为年龄
用数据库中的时间戳计算用户的年龄。
我有3列(dob_year / dob_month / dob_day)
上面的查询以年为单位计算出年龄,但我需要的是几年或几个月。因此,与其说年龄是10岁,不如说是10岁零2个月。
发布于 2013-09-30 09:27:30
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发布于 2013-09-30 09:05:29
这应该可以给您提供2列
1. years
2. months
SELECT
TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE())
as years,
TIMESTAMPDIFF(MONTH,
TIMESTAMPADD(YEAR,
TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE())
,CONCAT(dob_year, '-', dob_month, '-', dob_day)),CURDATE())
as
months
FROM
membershttps://stackoverflow.com/questions/19090094
复制相似问题