簡體   English   中英

如何在 MySQL 中將時間以秒為單位轉換為 HH:MM:SS 格式?

[英]How to convert time in seconds to HH:MM:SS format in MySQL?

我有一個名為test_duration bigint(12)的數據列。 我將時間以秒為單位存儲到數據庫中。 現在,當我從表中獲取記錄時,我希望將時間轉換為 HH:MM:SS 格式。 我應該如何實現這一目標? 提前致謝。

您可以使用MySQL函數SEC_TO_TIME()

例子:

SELECT SEC_TO_TIME(2378);

輸出是:

00:39:38

所以在你的情況下:

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

您是否將時間存儲在 Unixtime(Unix 秒?)中。 如果是這樣,請使用:

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

有一個 MYSQL 函數可以將秒轉換為“HH:MM:SS”格式:

SEC_TO_TIME(seconds)

例子:

SELECT SEC_TO_TIME(3661);

將輸出:

01:01:01

問候

您可以從函數 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM