来自表格的记录,其中两年之间的日期

时间:2013-01-22 13:12:26

标签: mysql sql select

我需要从2011年6月30日至2012年6月30日期间的一张表中获取记录。 问题是结果只是显示2012年的记录,尽管该表有2011年的记录。 下面是我的代码

SELECT * FROM tbl_name where date between '06/30/2011' and '06/30/2012'

1 个答案:

答案 0 :(得分:2)

您需要使用date将其转换为STR_TO_DATE,例如

SELECT * 
FROM tbl_name 
where STR_TO_DATE(date, '%m/%d/%Y') between '2011-06-31' and '2012-06-31'

Dates作为字符串存储在数据库中并不好,因为如您所见,很难搜索它,您需要一些额外的功能来将其转换回日期以及我认为< / em>它杀死了索引。

如果您有时间或特权进行更改,请修复这些值并将其更改为DateTime数据类型。