我有一个带有日期列的MySQL表。
我正在尝试选择某个特定日期范围之间的所有行,
select * from myTable mt
where DATE_FORMAT(mt.DateCol, '%y-%m-%b') between '01/03/2015' and '09/03/2015'
其中01/03/2015
和09/03/2015
来自用户选择的日期和范围dd/mm/yyyy
格式且我的日期列格式为yyyy-mm-dd
格式。那么如何使用DATE_FORMAT
函数直接选择行。上面的查询给出了零结果。
答案 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');