Vaše otázka stále není příliš jasná, protože jste nezmínili očekávaný výstup na základě vašeho vstupu. Tento kód však můžete použít k získání start_time a end_time na základě now(). Změňte now()
podle vašeho požadavku.
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();
Vysvětlení:Nejprve vydělte minuty 5, pak vezměte slovo (odstraňte desetinné místo) a vynásobte ho 5. Tím získáte nejbližší čas konce. Odečtěte od něj 5 minut a získáte start_time.