mysql - 根据出生日期计算年龄并返回20岁到30岁之间的行

标签 mysql date

我正在尝试根据用户表中存储的出生日期计算年龄,并根据年龄获取结果行。

例如我想要年龄在 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

关于mysql - 根据出生日期计算年龄并返回20岁到30岁之间的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52253744/

相关文章:

mysql - 使用 REGEX 从 MySQL 中的 URL 中提取主机名

mysql 7列pk与1列md5唯一约束

php - 如何生成过去的随机日期?

Javascript 日增量(以秒为单位)在 5 处滚动结束 :00PM

MySQL,如何使用 PHP 验证字符串日期?

php - 获取任何给定字段的列长度(所有类型的字段)

mysql - 使用哪种类型的连接?

MYSQL 查询问题与更新

delphi - Delphi&ADO:日期时间到字符串的转换

xml 模式更改日期格式