sql语句筛选一个月内生日的用户列表

查询一个月内的过生日的用户列表

思路:

  • 生日每年都有对应的一天,所以需要筛选的时候不能加上年 只能用 ”月-日“ 作为筛选条件

  • 用 DATE_ADD(now(),interval 1 month) 获取当前时间的一个月后的时间

  • 利用 DATE_FORMAT() 函数,把生日时间和当前时间以及一个月后时间 都改为相同的 ”月-日“ 的格式

  • 然后利用between … and … 找出birthday在 当前时间”月-日“ - 一个月后时间 ”月-日“ 的结果集,就是想要的一个月内的过生日的用户列表了

例子:

select * 
from user u 
where DATE_FORMAT(u.birthday, '%m-%d') 
BETWEEN DATE_FORMAT(now(), '%m-%d') and 
DATE_FORMAT(DATE_ADD(now(),interval 1 month), '%m-%d')

猜你喜欢

转载自blog.csdn.net/Survivor_L/article/details/125937207