MySQL,以mm:ss格式显示秒数

时间:2011-12-12 13:15:56

标签: mysql sql

有没有一种简单的方法可以将秒转换为mm:ss格式(分钟和秒)?我正在做。例如。

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 个答案:

答案 0 :(得分:1)

这是一种可能的方式: -

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                                                             |
+-------------------------------------------------------------------+

答案 1 :(得分:0)

您可以使用floor查找小时数,mod查找小时数:

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

Working example at SqlLize.