mysql - SQL 仅返回特定年龄的人

标签 mysql

我有这个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/

相关文章:

Java 使用 System.CurrentTimeMillis() 测量时间时出错

python - 在 Python 3 中将多个条目解压为 `fields` 的字符串

php - 从两个表中插入不匹配的记录

java - 是否有一个 MySQL JDBC 异常列表来描述抛出每个异常的原因?

javascript - 使用 Node.js 中的删除请求动态从数据库中删除数据

java - Hibernate, MySQL - 数据截断 : Data too long for column exception message

php - 如何在 PHP 中实现 "who' s 在线功能?

php - 如何优化大型内容网站的网页和数据库

php - CodeIgniter 列表字段

c++ - 序号 3283 找不到动态链接库 libmysql.dll