1

MySQL NOOB に問題があります...

私のデータベースには、経過時間 (hh:mm:ss) を格納する TotalTime という列があります。テーブルでは type = time として格納されます。

表示すると hh:mm:ss と表示されます。したがって、3:55 は 00:03:55 と表示されます。

私の SQL クエリで、03:55 (またはさらに良いのは 3:55) を表示するようにフォーマットする方法はありますか?

クエリの開始は次のようになります。

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

どうもありがとう。

4

4 に答える 4

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
于 2012-09-27T11:58:18.353 に答える
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..
于 2012-09-27T11:59:29.747 に答える
0

date_format関数を確認してください。

次のようなことができます:

SELECT
    OverallRank,
    First,
    Last,
    DATE_FORMAT(TotalTime, '%i:%s'),
    AgeGroup...
于 2012-09-27T12:02:30.550 に答える
0

3:55出力を取得したい場合は、 IFコンストラクト03:55を使用することもできます。

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..
于 2012-09-27T12:16:29.293 に答える