sql没有获取日期范围

时间:2017-06-24 12:24:08

标签: mysql sql

以下是查询

 SELECT * FROM music_history WHERE date1 BETWEEN 2017-06-24 AND 2017-06-01

phpmyadmin中运行此查询时,它显示MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0011 sec ),即使我在数据库中有该日期可用的日期。

这是数据库图像

database image

2 个答案:

答案 0 :(得分:0)

BETWEEN查询中,两个操作数是有序的。所以,这应该做你想要的:

WHERE date1 BETWEEN '2017-06-01' AND '2017-06-24' 

我认为缺少单引号只是一个错字。

我鼓励您以这种方式使用二进制比较来编写查询:

WHERE date1 >= '2017-06-01' AND date1 < '2017-06-25' 

即使date1有时间组件,这也有效。

您可能会发现this blog很有趣。虽然它与SQL Server有关,但它确实适用于任何数据库:

答案 1 :(得分:0)

第一个日期应小于第二个日期。 BETWEEN可以更改为

WHERE date1 > first AND date1 < second