select * from table where 1 and DATE_FORMAT(dateColumn,"%d-%m") BETWEEN "01-09" and "30-09"
该查询返回所有数据。我只想要这些日期之间的数据,而没有考虑年份。
在表中dateColumn是yyyy-mm-dd。
最佳答案
您需要以MM-DD而不是DD-MM的形式进行比较:
select *
from table
where DATE_FORMAT(dateColumn, '%m-%d') BETWEEN '09-01' and '09-30'
或者,对于这种情况,您可以执行以下操作:
where month(dateColumn) = 9
关于mysql - 根据月份和日期搜索数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46195629/