根据月份和日期Mysql搜索数据

时间:2017-09-13 10:53:11

标签: mysql sql date

select * from table where 1 and DATE_FORMAT(dateColumn,"%d-%m") BETWEEN "01-09" and "30-09"

此查询返回所有数据。我只想要这些日期之间的数据,而不考虑年份。

在表格中,dateColumn是yyyy-mm-dd。

4 个答案:

答案 0 :(得分:1)

您需要将比较视为MM-DD,而不是DD-MM:

select *
from table
where DATE_FORMAT(dateColumn, '%m-%d') BETWEEN '09-01' and '09-30'

或者,对于这种情况,您可以这样做:

where month(dateColumn) = 9

答案 1 :(得分:1)

试试这个:

SELECT *
FROM   table
WHERE  MONTH(dateColumn) = 9

答案 2 :(得分:0)

您可以查看月份是否为9月

select * from table where DATE_FORMAT(dateColumn,"%m")
= '09

答案 3 :(得分:0)

如果您希望表格中的行显示日期的月份为9且月份的日期介于1到30之间,那么您实际上可以更轻松,更明确地执行此操作:

SELECT 
    *
FROM
    table t
WHERE
    MONTH(t.date) = 9 and
    DAY(t.date) BETWEEN 1 and 30

它也更容易理解。