如何在MySQL中将时间(以秒为单位)转换为HH:MM:SS格式?

时间:2013-09-20 07:45:00

标签: mysql sql time

我有一个名为 test_duration bigint(12)的数据列。我将时间以秒为单位存储到数据库中。现在,当我从表中获取记录时,我希望将时间转换为HH:MM:SS格式。我该怎么做到这一点?提前谢谢。

4 个答案:

答案 0 :(得分:30)

您可以使用 MySQL 功能SEC_TO_TIME()

示例:

SELECT SEC_TO_TIME(2378);

输出是:

00:39:38

所以在你的情况下:

SELECT SEC_TO_TIME(test_duration) as `Time` FORM YOUR_TABLE;

答案 1 :(得分:2)

您是否将时间存储在Unix Time(Unix秒?)中。 如果是这样,请使用:

FROM_UNIXTIME(unix_timestamp, '%h:%i:%s')

答案 2 :(得分:0)

有一个MYSQL函数可以将秒转换为“HH:MM:SS”格式:

SEC_TO_TIME(seconds)

示例:

SELECT SEC_TO_TIME(3661);

将输出:

1时01分01秒

此致

答案 3 :(得分:0)

您可以从SEC_TO_TIME函数获得的最大值是838:59:59

如果您的电话号码更大,则可以使用以下代码:

SELECT DAY, Floor((SUM(DAY) / (60*60))) AS Hours, 
Floor(MOD(SUM(DAY), (60*60)) / 60) AS Minutes, 
Floor(MOD(SUM(DAY), (60))) AS Secs,

CONCAT(
    Floor((SUM(DAY) / (60*60))), ":", 
    Floor(MOD(SUM(DAY), (60*60)) / 60), ":", 
    Floor(MOD(SUM(DAY), (60)))
) AS Time

FROM (SELECT 5328089 as DAY) a