【问题标题】:How to convert time in seconds to HH:MM:SS format in MySQL?如何在 MySQL 中以秒为单位将时间转换为 HH:MM:SS 格式?
【发布时间】:2013-09-20 07:44:59
【问题描述】:

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

【问题讨论】:

    标签: mysql sql time


    【解决方案1】:

    您可以使用MySQL函数SEC_TO_TIME()

    例子:

    SELECT SEC_TO_TIME(2378);
    

    输出是:

    00:39:38
    

    所以在你的情况下:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        SEC_TO_TIME(seconds)
        

        例子:

        SELECT SEC_TO_TIME(3661);
        

        将输出:

        01:01:01

        问候

        【讨论】:

          【解决方案4】:

          你可以从函数 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
          

          【讨论】:

            猜你喜欢
            • 2012-02-10
            • 2011-04-01
            • 2018-11-29
            • 2016-04-29
            • 2011-06-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多