Uw vraag is nog steeds niet erg duidelijk omdat u de verwachte output op basis van uw input niet vermeldde. U kunt deze code echter gebruiken om start_time en end_time te krijgen op basis van now(). Wijzig now()
volgens uw vereiste.
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();
Uitleg:Deel eerst de minuten door 5, neem dan de vloer (verwijder decimaal) en vermenigvuldig deze met 5. Dit geeft je de dichtstbijzijnde eindtijd. Trek er 5 minuten vanaf om start_time te krijgen.