小编典典

MySQL:比较时间

mysql

以我想使其正常工作的方式,这可能是不可能的,但是可以了。

SELECT * FROM `table` WHERE CAST('05:00:00' AS time) BETWEEN `start` AND `end`

数据库中的条目是:

`start` = '22:59:59'
`end` = '06:00:00'

但是,查询不返回任何结果。当然,如果涉及到日期,这将起作用,但是没有涉及。如果开始= ‘00:00:00’,它也将起作用。


阅读 329

收藏
2020-05-17

共1个答案

小编典典

我认为您正在寻找的是:

SELECT * FROM table WHERE start < CAST('05:00:00' AS time) AND end > CAST('05:00:00' AS time)

我不确定您是否需要使用CAST,尽管这也可以工作。

SELECT * FROM table WHERE start < '05:00:00' AND end > '05:00:00'
2020-05-17