 
  
   
  
   
  
   
  
   
  
   
  
   
  
  start_delta и end_delta типа TIME. В start_delta с помощью триггера или планировщика записываем результат вычисления TIME(start), в end_delta записываем TIMEDIFF( end, TIMESTAMP(DATE(start)) ).SELECT *
FROM my_table
WHERE
    TIME('16:00:00') BETWEEN start_delta AND end_delta OR
    ADDTIME( '16:00:00', '24:00:00') BETWEEN start_delta AND end_delta
start_delta и end_delta.         
  
   
  
   
  
   
  
   
  
   
  
   
  
   
  
   
  
  