如何在某个日期范围内选择行

时间:2011-12-06 18:08:54

标签: mysql

我想选择介于某个日期范围之间的行,我尝试了以下查询,但它不起作用。

SELECT * FROM tbl WHERE DATE_FORMAT(date_col, '%2011-%c-%e') BETWEEN '2011-11-28' AND '2011-12-5' 

似乎BETWEEN关键字在日期上无效。请问如何获得结果?感谢

2 个答案:

答案 0 :(得分:9)

如果您想比较日期,则无需使用DATE_FORMAT

SELECT * 
FROM tbl 
WHERE DATE(date_col) BETWEEN '2011-11-28' AND '2011-12-05'

假设您使用DATE_FORMAT(date_col, '%Y-%c-%e')

,您的代码会比较字符串

答案 1 :(得分:4)

SELECT * FROM tbl WHERE DATE_FORMAT(date_col, '%Y-%m-%d') BETWEEN '2011-11-28' AND '2011-12-5'