根据 DOB 计算年龄,并返回年龄在 20 到 30 之间的行



我正在尝试根据存储在用户表中的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

尝试以下查询:

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

最新更新