Нужна помощь с округлением значений, я знаю, что ROUND()
существует, но это не совсем то, что мне нужно.
Итак, я вычисляю тарифы на звонки в минуту, в которых с фиксированной ставкой любой вызов длится более 60 секунд, будет снят в течение следующей минуты.
Мой запрос идет SEC_TO_TIME
(billedsec), чтобы получить минутный эквивалент.
У меня есть 2 вопроса:
Как округлить до полной минуты для значений, которые идут более минуты, говорят, если 1 мин и 15 секунд (00:01:15
) должно быть 2 минуты или 13 секунд должно быть полной минуты.
Как рассчитать формат TIME для int или float, чтобы получить фактическую ставку, например, 00:01:00*rate
? Это прямой подход?
Спасибо, парни
Ты можешь использовать
FLOOR((billedsec+59)/60)
чтобы получить время, округленное до следующей минуты. 13 секунд до 72/60 = 1 минута, 60 секунд - 119/60 = 1 минута, 61 секунда - 120/60 = 2 минуты, 75 секунд - 134/60 = 2 минуты и т.д.