我正在尝试根据存储在用户表中的DOB计算年龄,并根据年龄获取结果行。
例如,我希望年龄在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
答案 0 :(得分:1)
请尝试以下查询:
SELECT
id
FROM
personal_info
WHERe
ROUND
(
DATEDIFF(
CURRENT_DATE,
STR_TO_DATE(dob, '%Y-m%-%d')
) / 365
) BETWEEN 20 AND 30