MYSQL DATE范围使用日期格式查询

时间:2011-06-25 10:48:47

标签: php mysql

我有一个MYSQL表,字段名称为“date”,格式为“dd / mm”;

我需要查询20/06至22/06(3天数据)的结果,这就是我尝试这样做的方法。

mysql> SELECT * FROM `wtt` WHERE date BETWEEN '20/06' AND '22/06';

但是MYSQL也在选择日期22 / 04,22 / 05和其他条目。

是否有MYSQL查询可以获取正确答案,而无需更改我已将信息存储在MYSQL表中的格式?

提前谢谢大家!

1 个答案:

答案 0 :(得分:3)

您应该将日期转换为MySQL日期类型,然后进行比较。

您可以像这样转换日期:

SELECT STR_TO_DATE(CONCAT('20/06', '/', EXTRACT(YEAR FROM CURDATE())),'%d/%m/%Y');

或只是

SELECT STR_TO_DATE('20/06','%d/%m');
如果没关系,<00> 0000年。

将日期存储为字符串会给您带来此问题。您应该始终使用DATE类型来存储日期。