MySql查詢生日的兩種方式

需求是查詢日期段內過生日的會員,分爲兩種狀況:sql

1. 不跨年code

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

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

2. 跨年select

例如: 查詢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' )

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

拋磚引玉,你們有好的方案歡迎交流. 日期

相關文章
相關標籤/搜索