Votre question n'est toujours pas très claire car vous n'avez pas mentionné le résultat attendu en fonction de votre entrée. Cependant, vous pouvez utiliser ce code pour obtenir start_time et end_time en fonction de now(). Changer now()
selon vos besoins.
select
date_sub(str_to_date(concat(hour(now()),':',floor(minute(now())/5)*5),'%H:%i'),interval 5 minute) as start_time,
str_to_date(concat(hour(now()),':',floor(minute(now())/5)*5),'%H:%i') as end_time,
now();
Explication :Divisez d'abord les minutes par 5, puis prenez la parole (enlevez la décimale) et multipliez-la par 5. Cela vous donnera l'heure de fin la plus proche. Soustrayez 5 minutes pour obtenir start_time.