SELECT SEC_TO_TIME(FLOOR((TIME_TO_SEC(CURTIME())+450)/900)*900)
Dans cet exemple, j'ai utilisé CURTIME() pour l'heure d'entrée, mais vous pouvez utiliser n'importe quel champ d'heure.
900 secondes =15 minutes (la période à arrondir), 450 secondes est la moitié (pour fournir l'élément d'arrondi). J'ai testé avec 1800/900 pour obtenir la demi-heure la plus proche, je devrais travailler avec d'autres (600/300 pendant 10 minutes, etc.).