1. 程式人生 > >MySql查詢生日的兩種方式

MySql查詢生日的兩種方式

div mat 情況 兩種 color sele rom spa style

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

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 )

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

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

MySql查詢生日的兩種方式