あなたの入力に基づいて期待される出力について言及しなかったので、あなたの質問はまだあまり明確ではありません。ただし、このコードを使用して、now()に基づいてstart_timeとend_timeを取得できます。 now()
を変更します 要件に応じて。
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();
説明:最初に分を5で割り、次に下限を取り(小数を削除)、5を掛けます。これにより、最も近い終了時刻が得られます。それから5分を引いて、start_timeを取得します。