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

MySQL,以mm:ss格式显示秒数,mysql,sql,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”则不合适。您可以使用楼层查找小时数,使用mo

是否有一种简单的方法将秒转换为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”则不合适。

您可以使用
楼层
查找小时数,使用
mod
查找分钟数:

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

这是一种可能的方法:-

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 | +-------------------------------------------------------------------+ mysql>set@sec:=3602; 查询正常,0行受影响(0.00秒) mysql>选择concat(lpad(floor(@sec/60),2,0),“:”,lpad(@sec%60),2,0)); +-------------------------------------------------------------------+ |concat(lpad(楼层(3602/60),2,0),“:”,lpad((3602%60),2,0))| +-------------------------------------------------------------------+ | 60:02 | +-------------------------------------------------------------------+
您的值是如何存储在数据库中的,是时间戳吗?