Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql查询使用IM mysql查询以m/d/y格式从dob计算年龄_Mysql - Fatal编程技术网

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