SELECT SEC_TO_TIME(FLOOR((TIME_TO_SEC(CURTIME())+450)/900)*900)
In questo esempio ho usato CURTIME() per l'ora di input, ma puoi usare qualsiasi campo dell'ora.
900 secondi=15 minuti (il periodo a cui arrotondare), 450 secondi è la metà (per fornire l'elemento di arrotondamento). Ho testato con 1800/900 per ottenere la mezz'ora più vicina, dovrebbe funzionare con altri (600/300 per 10 minuti ecc.).