我有这个sql语句:
SELECT * FROM users WHERE (DATE_FORMAT(dob, '%Y') - $strYear)<=3
这有点有效,但是如果 DOB 的年份比 $strYear 更多(晚于),就会出错。
即。
strYear = 1960
dob(Y) = 1930
1930 - 1960 = -30
满足 <=3
条件,但显然是错误的,因为我正在寻找 3 年内的用户。
有什么想法吗?
最佳答案
怎么样
SELECT * FROM users
WHERE (DATE_FORMAT(dob, '%Y') - $strYear) <= 3
AND (DATE_FORMAT(dob, '%Y') - $strYear) > 0
这可能有用。
关于mysql - SQL 仅返回特定年龄的人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5303359/