MySQL, текущие секунды в формате mm: ss - PullRequest
0 голосов
/ 12 декабря 2011

Существует ли простой способ преобразования секунд в формат мм: сс (минуты и секунды)? Я делаю, например,

select colA,ROUND(AVG(seconds)) from table group by colA.

Я хотел бы показать это в формате mm: ss ( обратите внимание, что это не то, что делает MySQL SEC_TO_TIME, оно всегда дает вам и часть HH )

если секунд 90, мне бы хотелось, чтобы "1:30" или "01:30" тоже были бы в порядке. Если в секундах 3602, то либо «60:02», либо «01:00:02» будет в порядке, но усечение часа до «00:02» не будет ..

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

Это один из возможных способов: -

mysql> set @sec:= 3602;
Query OK, 0 rows affected (0.00 sec)

mysql> select concat( lpad(floor(@sec/60), 2, 0), ':', lpad((@sec%60), 2, 0));
+-------------------------------------------------------------------+
| concat( lpad(floor(3602/60), 2, 0), ':', lpad((3602 % 60), 2, 0)) |
+-------------------------------------------------------------------+
| 60:02                                                             |
+-------------------------------------------------------------------+
0 голосов
/ 12 декабря 2011

Вы можете использовать floor, чтобы найти часы, и mod, чтобы найти минуты:

select  concat(floor(column_with_seconds/60), 
        ':',
        mod(column_with_seconds,60))

Рабочий пример в SqlLize.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...