select * from table where starttime<=curtime() and endtime>=curtime();
开始时间小于结束时间 (时间段在一天内)
开始时间大于结束时间 (时间段跨天<不在同一天>)
select id, case when starttime<=endtime then 1 else 0 end as s1
from table
where (s1=1) and curtime() >= starttime and curtime() <= endtime ;
untion all
select id, case when starttime<=endtime then 1 else 0 end as s1
from table
where (s1=0) and curtime() <= starttime and curtime() >= endtime ;