Mysql 基于DOB计算年龄,并返回年龄20到30之间的行
我试图根据存储在用户表中的DOB计算年龄,并根据年龄得到结果行 e、 我想要年龄在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
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参数。那只是打字错误吗?对不起是的,这是打字错误