为SELECT ... BETWEEN查询创建正确的日期格式

时间:2013-01-04 12:29:29

标签: php mysql date select

我有2个变量组成一个日期范围,然后需要在MySQL数据库中搜索。

这些格式为'Apr,2011'和'Mar,2012'等。

我的选择... BETWEEN查询需要'2011-04-01'和'2012-03-31',所以最好的方法是提供这个......

首先在PHP中转换日期?

或者有没有办法将查询编写为使用原始格式进行搜索?我尝试使用date_format(日期,'%b,%Y'),但查询一无所获。

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT * FROM tablename 
WHERE dateCol BETWEEN DATE_ADD(DATE(STR_TO_DATE('Apr, 2011', '%b, %Y')), INTERVAL 1 DAY) AND LAST_DAY(STR_TO_DATE('Mar, 2012', '%b, %Y'));

检查SQL FIDDLE DEMO