选择介于两次之间的行

时间:2016-04-27 20:52:33

标签: php mysql

我有一个DATETIME字段。

如何选择介于凌晨12:00到8:30之间的行?

当我输入此查询时:

{{1}}

它给我零点击。

更改时间字段的日期如下:2015-07-14 10:57:57

2 个答案:

答案 0 :(得分:3)

12:00:00是下午12点(中午),而不是上午12点(午夜)。你需要使用

WHERE TIME(changetime) BETWEEN '00:00:00' AND '08:30:00'

答案 1 :(得分:0)

1)你不需要TIME(更改时间),它可能会恶化你的搜索时间,因为mysql需要应用一个函数而不是使用索引。

只使用更改时间。

2)where changetime between '2015-07-14 10:57:57' and '2015-07-14 12:57:57' http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_between

3)你需要使用正确的范围 - 在你的例子中,END_DATE是在START_DATE之前。因此,之间将返回0(12:00:00> 08:30:00)

4)看看@ Barmar的评论,也许你真的希望在任何日期的某个时间之间输入,而不是在日期之间输入