这可能是我想要让它工作的方式不可能的,但是这里也是如此.
SELECT * FROM `table` WHERE CAST('05:00:00' AS time) BETWEEN `start` AND `end`
Run Code Online (Sandbox Code Playgroud)
数据库中的条目是:
`start` = '22:59:59'
`end` = '06:00:00'
Run Code Online (Sandbox Code Playgroud)
但是,查询不返回任何结果.当然,如果涉及日期,这将有效,但是没有.如果开始时间= '00:00:00',它也会起作用.
cha*_*kun 23
我认为你在寻找的是:
SELECT * FROM table WHERE start < CAST('05:00:00' AS time) AND end > CAST('05:00:00' AS time)
Run Code Online (Sandbox Code Playgroud)
我不确定你是否需要使用CAST,尽管这也应该有效.
SELECT * FROM table WHERE start < '05:00:00' AND end > '05:00:00'
Run Code Online (Sandbox Code Playgroud)
Qua*_*noi 15
SELECT *
FROM `table`
WHERE CAST('05:00:00' AS time) BETWEEN `start` AND `end`
OR (NOT CAST('05:00:00' AS time) BETWEEN `end` AND `start` AND `start` > `end`)
Run Code Online (Sandbox Code Playgroud)