mysql查询使用IM mysql查询以m/d/y格式从dob计算年龄
我正在查询数据库中存储在mysql查询使用IM mysql查询以m/d/y格式从dob计算年龄,mysql,Mysql,我正在查询数据库中存储在d/m/y中的用户年龄。为此,我想提出以下问题 select *,TIMESTAMPDIFF(YEAR, dob, now()) as age_new from users_profile 但它似乎不起作用,返回值为NULL。eg的dob类似于12/5/1990,因此我想在结果中计算年龄。它将创建一个新列,并在new\u age中显示计数结果,请尝试此代码 select *, YEAR(FROM_DAYS(DATEDIFF(NOW(), dob))) as age_ne
d/m/y
中的用户年龄。为此,我想提出以下问题
select *,TIMESTAMPDIFF(YEAR, dob, now()) as age_new from users_profile
但它似乎不起作用,返回值为NULL
。eg的dob类似于12/5/1990
,因此我想在结果中计算年龄。它将创建一个新列,并在new\u age
中显示计数结果,请尝试此代码
select *, YEAR(FROM_DAYS(DATEDIFF(NOW(), dob))) as age_new from users_profile
选择*,
日期格式(现在(),'%Y')-日期格式(dob,'%Y')-(日期格式(现在(),'00-%m-%d')<日期格式(dob,'00-%m-%d'))作为年龄从用户配置文件中新建
看起来可能是
dob
不是date
类型,或者mysql无法读取其格式。下面的查询适合我:
SELECT TIMESTAMPDIFF(YEAR, '1983/12/5', CURRENT_DATE()) AS AGE
因为您的
dob
字段不是date
或datetime
格式。我们需要转换它
这是一个对我来说很有效的问题
选择年份(从日期差异(现在(),STR_到日期('12/5/1990','%d/%m/%Y'))作为新的年龄
或者您的查询将是:
从用户档案中选择年份(从日期差异(现在(),STR_到日期(dob,%d/%m/%Y)))作为新的年龄(dob的类型是什么?约会?
SELECT TIMESTAMPDIFF(YEAR, '1983/12/5', CURRENT_DATE()) AS AGE