Есть два способа округления, используя целочисленную арифметику и избегая значений с плавающей запятой, значения до ближайших тридцати секунд ...
- ((секунд + 15) DIV 30) * 30
- (секунд + 15) - (секунд + 15)% 30
Последнее длиннее, но с точки зрения времени процессора должно быть быстрее.
1011 *
*
Затем вы можете использовать SEC_TO_TIME(seconds)
, чтобы получить формат hh:mm:ss
, и взять правильные 5 символов, если вам действительно нужно hh:mm
.
1020 *
*
Если вы хотите избежать SEC_TO_TIME(seconds)
, вы можете создать строку самостоятельно.
- минут = всего_секунд DIV 60
секунд = всего_секунд% 60
конечная строка = LPAD(minutes, 2, '0') | ':' | LPAD(seconds, 2, '0')