我有这个sql语句:
SELECT * FROM users WHERE (DATE_FORMAT(dob, '%Y') - $strYear)<=3
哪种方法有点,但是如果DOB的年份(或稍后)超过$ strYear就会出错。
即。
strYear = 1960
dob(Y) = 1930
1930 - 1960 = -30
符合<=3
条件,但显然是错误的,因为我正在寻找3年范围内的用户。
有什么想法吗?
答案 0 :(得分:2)
怎么样
SELECT * FROM users
WHERE (DATE_FORMAT(dob, '%Y') - $strYear) <= 3
AND (DATE_FORMAT(dob, '%Y') - $strYear) > 0
这可能有效。
答案 1 :(得分:0)
$ strYear好像是PHP变量......
$query = "SELECT * FROM users
WHERE (DATE_FORMAT(dob, '%Y')-$strYear)<=3
AND (DATE_FORMAT(dob, '%Y')-$strYear) > 0"
且差异应大于0