Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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/5/date/2.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 基于DOB计算年龄,并返回年龄20到30之间的行_Mysql_Date - Fatal编程技术网

Mysql 基于DOB计算年龄,并返回年龄20到30之间的行

Mysql 基于DOB计算年龄,并返回年龄20到30之间的行,mysql,date,Mysql,Date,我试图根据存储在用户表中的DOB计算年龄,并根据年龄得到结果行 e、 我想要年龄在20到30岁之间的用户 我尝试过使用子查询,但没有成功 SELECT id FROM personal_info WHERE ( SELECT ROUND( ( DATEDIFF( CURRENT_DATE, STR_TO_DATE(dob, '%Y-%m-%d') ) / 365

我试图根据存储在用户表中的DOB计算年龄,并根据年龄得到结果行

e、 我想要年龄在20到30岁之间的用户

我尝试过使用子查询,但没有成功

SELECT
id
FROM
personal_info
WHERE
(
SELECT
    ROUND(
        (
            DATEDIFF(
                CURRENT_DATE,
                STR_TO_DATE(dob, '%Y-%m-%d')
            ) / 365
        )
    ) AS age
FROM
    personal_info
) BETWEEN 20 AND 30
请尝试以下查询:

SELECT
id
FROM
personal_info
WHERe 
    ROUND
        (
            DATEDIFF(
                CURRENT_DATE,
                STR_TO_DATE(dob, '%Y-m%-%d')
            ) / 365
        ) BETWEEN 20 AND 30

您的STR_TO_DATE(dob,'%Y-%-%d')方法缺少month参数。那只是打字错误吗?对不起是的,这是打字错误