以我想使其正常工作的方式,这可能是不可能的,但是可以了。
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’,它也将起作用。
我认为您正在寻找的是:
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'