我有一个表,它有整数列startTime和endTime(例如,60表示1:00 am,120表示2:00 am,1320表示10:00 PM…..等等)
有时endTime值可能小于startTime(从晚上10点开始到凌晨2点结束,然后startTime将为1320,endTime将为60)
现在如果用户输入晚上11点来查找晚上11点(1380)是否在晚上10点(1320)到凌晨2点(120)之间。。。。我需要找到的SQL语句是什么。
我正在使用:
从开始时间和结束时间之间1380的dayTimes中选择*。
我只需要一个不带复杂查询的select语句

最佳答案

如果开始时间和结束时间不超过24小时,则以下代码将起作用:

select * from dayTimes where 540 BETWEEN startTime and
if(endTime-startTime>=0,endTime,1440+endTime)
OR
540+1440 BETWEEN startTime and
if(endTime-startTime>=0,endTime,1440+endTime)

10-04 16:31