MYSQL根据年龄范围选择生日

标签 mysql sql

我有一个简单的 MYSQL 表,其中使用数据类型日期存储生日。行:

birthday
--------
1989-08-08

我想选择年龄在 18 到 25 岁之间的用户。我使用以下查询:

SELECT * FROM users 
WHERE birthday <= now() - INTERVAL 18 YEAR and
      birthday >= now() - INTERVAL 25 YEAR 

这应该返回上面的行,因为它在 18 到 25 之间的范围内,但 MYSQL 假设它已经有 26 岁了,因为它在 25 到 26 之间

最佳答案

25年前是1989-09-27,1989-08-08小于1989-09-27,所以不会被退回。如果您想要当前 25 岁但尚未满 26 岁的用户,请更改为 INTERVAL 26 年 + INTERVAL 1 DAY

关于MYSQL根据年龄范围选择生日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26078240/

相关文章:

php - 从表中提取上周的数据

php - MySQL 如何选择 n 天后的日期,n 是 'duration' 列中存在的值

sql - MySQL:通过 auto_increment 列的值检查新记录是否不好?

c# - 无法从 C# 表单应用程序连接到本地数据库 (mdf)

mysql - 错误 1349 (HY000) : View's SELECT contains a subquery in the FROM clause

sql - 如何从表中选择主键列?

python - 邮政数据库。 models.py 没有转化为数据库方案

mysql - 我可以使用什么解决方案来跨城市进行 MySQL 复制?

php - MySQL 数据库中的乱码文本

sql - 什么是Mysql select语句来显示表的列表?