带有DATE_FORMAT的MySQL where子句

时间:2015-03-25 01:03:12

标签: mysql date between date-range

我有一个带有日期列的MySQL表。

我正在尝试选择某个特定日期范围之间的所有行,

select * from myTable mt 
    where DATE_FORMAT(mt.DateCol, '%y-%m-%b') between '01/03/2015' and '09/03/2015'

其中01/03/201509/03/2015来自用户选择的日期和范围dd/mm/yyyy格式且我的日期列格式为yyyy-mm-dd格式。那么如何使用DATE_FORMAT函数直接选择行。上面的查询给出了零结果。

1 个答案:

答案 0 :(得分:3)

为什么要将日期转换为字符串呢?只是做:

select *
from myTable mt
where mt.DateCol between '2015-03-01' and '2015-03-09';

如果您愿意,可以在常量周围添加date()以强调其类型:

select *
from myTable mt
where mt.DateCol between date('2015-03-01') and date('2015-03-09');