SQL 以奇怪的格式查询运算符 between 和 date

SQL query with operator between and date in a strange format

我的 table 中有一列以格式 (DD-MM-YY HH:MM:SS) 存储日期。例如:

05-06-15 01:02:03

例如,我需要输出日期在 6 月 4 日到 5 日之间的所有记录,所以我尝试了:

SELECT * from table where date BETWEEN '04-06-15 00:00:00' AND '05-06-15 23:59:59'

但它也输出不同月份的结果,如:

05-07-15 14:52:34

有没有办法使用单个查询来解决这个问题,或者我必须更改所有数据库日期格式?

SELECT * 
from table 
where 
STR_TO_DATE(date,'%d-%m-%Y %T')  between 
'2015-06-05 00:00:00' and '2015-06-5 23:59:59';