MySQL函数将SQL查询中的时间格式化为mm:ss

时间:2012-09-27 11:56:21

标签: mysql datetime time

MySQL NOOB有问题......

我的数据库中有一个名为TotalTime的列,用于存储已用时间(hh:mm:ss)。在表格中,它存储为type = time。

显示时显示hh:mm:ss。因此,3:55显示为00:03:55。

在我的SQL查询中有没有办法格式化显示03:55(或更好的是3:55)?

查询的开头如下:

SELECT
    OverallRank,
    First,
    Last,
    TotalTime,
    AgeGroup...

非常感谢。

4 个答案:

答案 0 :(得分:2)

使用

i for minutes
s for seconds 

喜欢 - i:s

%i  Minutes, numeric (00..59)
%s  Seconds (00..59)

编辑

SELECT OverallRank, First, Last, DATE_FORMAT(TotalTime, "%i:%s") as TotalTime,...
FROM tbl_name

答案 1 :(得分:2)

你可以预先使用DATE_FORMAT()吗? http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

SELECT OverallRank, First, Last, DATE_FORMAT(TotalTime, "%i:%s") as TotalTime, AgeGroup..

答案 2 :(得分:0)

检查date_format功能。

您可以执行以下操作:

SELECT
    OverallRank,
    First,
    Last,
    DATE_FORMAT(TotalTime, '%i:%s'),
    AgeGroup...

答案 3 :(得分:0)

如果您想获得3:55输出而不是03:55,还可以使用IF结构:

SELECT OverallRank, 
       First, 
       Last, 
       IF (LEFT(DATE_FORMAT(TotalTime, "%i:%s"),1) == '0',     #IF
                SUBSTRING(DATE_FORMAT(TotalTime, "%i:%s"),2) , #yes part
                DATE_FORMAT(TotalTime, "%i:%s")) as TotalTime, #no part
       AgeGroup..