MySql查詢生日的兩種方式


需要是要查詢日期段內過生日的會員,分為兩種情況:

1. 不跨年

例如: 查詢2017-01-01到2017-01-20之間過生日的會員  (假定今天是2017-01-01則這種也可以描述為20天內過生日的會員)

select * from user where DATE_FORMAT(birthday,'%m-%d') between '01-01' and '01-20'

2. 跨年

例如: 查詢2017-12-27到2018-01-05之間過生日的會員, (假定今天是2017-12-27則這種也可以描述為10天內過生日的會員)

這里取今年的起始時間與今年的最后一天做為1組條件,2017-12-27到2017-12-31; 取下年的第一天到下年的結束做為1組條件:2018-01-01到2018-01-05

select * from user where (DATE_FORMAT(birthday,'%m-%d') between '12-27' and '12-31' OR DATE_FORMAT(birthday,'%m-%d') between '01-01' and '01-05' )

 

分析了兩種查詢生日的情況, 還有一種情況是閏年生日的情況,留到下次再說.

拋磚引玉,大家有好的方案歡迎交流. 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM