繁体   English   中英

MySQL:如何将秒转换为mm:ss格式?

[英]MySQL: How to convert seconds to mm:ss format?

我想将秒转换为minute : seconds sql select语句中的minute : seconds格式。

目前,我正在使用:

SELECT SEC_TO_TIME(duration) from messages; 

它工作正常,但是它给了我这种时间格式: hh:mm:ss但我需要mm:ss

是否可以使用sql查询将秒转换为mm:ss格式?

如果该值小于一个小时,则只需执行以下操作:

SELECT RIGHT(SEC_TO_TIME(duration), 5) from messages; 

如果您可能要花一个多小时,请执行以下算术操作:

SELECT CONCAT_WS(':', FLOOR(SEC_TO_TIME(duration) / 60),
                 SEC_TO_TIME(duration) % 60)

最近,我有一个类似的项目,需要将存储的秒数转换为m:ss格式。 无论数量多少,都必须至少有一个数字代表分钟和两个数字代表秒。 禁止使用小时占位符,因此分钟值可以接受地超过59并且还可以包含两位以上的数字。 分钟值不得为零。

这是我使用的:( SQLFiddle Demo

CONCAT(FLOOR(seconds/60), ':', LPAD(MOD(seconds,60), 2, 0)) AS `m:ss`

又名

CONCAT(FLOOR(seconds/60), ':', LPAD(seconds%60, 2, 0)) AS `m:ss`

seconds  |   m:ss
-----------------
      0  |   0:00
      1  |   0:01
     10  |   0:10
     60  |   1:00
     61  |   1:01
     71  |   1:11
   3599  |  59:59
   3600  |  60:00
   5999  |  99:59
   6000  | 100:00

TIME_FORMAT(SEC_TO_TIME(seconds),'%i:%s')不适合,因为项目规范不希望将分钟部分补零。 这是有关此技术的好帖子

TIME_FORMAT()DATE_FORMAT()中没有个位数的分钟选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM