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...
非常感谢。
答案 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..