1

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

这些格式为“2011 年 4 月”和“2012 年 3 月”等。

我的 SELECT...BETWEEN 查询需要“2011-04-01”和“2012-03-31”,那么提供这个的最好方法是什么...

首先在 PHP 中转换日期?

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

4

1 回答 1

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 演示

于 2013-01-04T13:09:07.300 回答