mysql 按时间查询的问题

natato 2008-10-06 10:45:51
页面上给的是岁数,数据库中写的是生日,我要查15到35岁的之间数据怎么查呀谢了
用的是mysql,
表 user
id name sex birthday
1 s a 1978-1-6
2 d a 1976-5-5
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
分治实践 2008-10-06
  • 打赏
  • 举报
回复
Mysql里面没有直接比较年的函数.
所以只能用year(now())减去year(birthday)得到年龄
分治实践 2008-10-06
  • 打赏
  • 举报
回复
SELECT * FROM tb WHERE year(now())-year(birthday) BEGIN 15 AND 35


他要的是MySqL的写法
liuyilidan 2008-10-06
  • 打赏
  • 举报
回复
SELECT * FROM [user] WHERE DATEDIFF(YEAR,birthday,GETDATE()) BETWEEN 15 AND 35
lgxyz 2008-10-06
  • 打赏
  • 举报
回复
数据量不多就 直接加DATEDIFF操作
WHERE DATEDIFF(yy,birthday,GETDATE()) BETWEEN 15 AND 35


如果数据量相当多就
换个写法
WHERE birthday >= DATENAME(YEAR,DATEADD(YEAR,-35,GETDATE()))+'-01-01'
AND birthday <= DATENAME(YEAR,DATEADD(YEAR,-15,GETDATE()))+'-12-31'
pt1314917 2008-10-06
  • 打赏
  • 举报
回复
SELECT *
FROM tb WHERE DATEDIFF(yy,birthday,GETDATE()) BETWEEN 15 AND 35
liangCK 2008-10-06
  • 打赏
  • 举报
回复
SELECT *
FROM tb
WHERE DATEDIFF(YEAR,birthday,GETDATE()) BETWEEN 15 AND 35

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧