首页 > 解决方案 > 如何从日期时间列中获取两个小时之间的行?

问题描述

我有一个datetime专栏。如何获取Date列在两个特定小时之间的行(不考虑日、月和年)。

例如,小时在14:00:00和之间的任何行15:00:00(对于所有天)?

标签: mysqlsqldatetime

解决方案


您可以使用time()hour()

where hour(datetime) >= 14 and hour(datetime) < 16

或者:

where time(datetime) >= '14:00:00' and time(datetime) < '16:00:00'

或者您可能更喜欢这样:

where time(datetime) >= '14:00:00' and
      time(datetime) < '15:00:00' + interval 1 hour

注意:由于列上的函数调用,这些都不会使用索引datetime


推荐阅读