2013-04-07 59 views
0

我有一個秒列,我需要以一些可讀的格式顯示。時間MYSQL秒列

Table A 
Time 
259200 

select Time from Table A 

,我需要得到: 3天,00:00:00我需要無天if > 24小時的。

我嘗試了很多方法,但我無法得到正確的答案。

,我試了幾件事情:

select floor(hour(sec_to_time 
Select sec_to_time 
SELECT TIME_FORMAT(MAKETIME(
+0

可能重複的[計算相對時間](http://stackoverflow.com/questions/11/calculating-relative-time) – 2013-04-07 17:00:16

回答

0

檢查MySQL manual時間和日期的功能。例如,SEC_TO_TIMETO_DAYS

更新:

很對,我誤讀了。以下是一個可怕的黑客,但應該給你你想要的答案。對於一個真正的系統,我會爲此寫一個適當的函數。

concat(floor(hour(sec_to_time(x))/24), " days, ", subtime(sec_to_time(x),concat(floor(hour(sec_to_time(x))/24)*24,":00:00"))) 
+0

嗨Igelkott,感謝您的答覆,但不是我無法得到的日子和毫米:hh:ss :( – user2111815 2013-04-07 17:20:10

1

如何:

SELECT 
    CONCAT_WS(' ', 
       `time` DIV 86400, 'day(s) and', 
       SEC_TO_TIME(MOD(`time`, 86400)), 'hours' 
      ) 
FROM TableName; 

time DIV 86400讓你的一天(S)的數量,SEC_TO_TIME(MOD(``time``, 86400))給你h:m:s剩餘。然後只需連接它們。

輸出:

0 day(s) and 01:50:00 hours 
1 day(s) and 10:17:36 hours 
101 day(s) and 10:50:32 hours 

PLZ看到sql fiddle

+0

+1爲縮進和查詢中的換行符。SQL也是一種語言! – 11684 2013-04-07 18:26:55

+0

感謝Jurgenreza UR真棒,它通過命令提示符在我的sql中工作,但通過sql workbench它給BLOB和i我在Ireport中使用這個值,甚至在那裏它打印blob :(任何輸入將是一個很大的幫助 – user2111815 2013-04-07 19:58:09

+0

@ user2111815 BLOB問題是不相關的MySQL。看到這篇文章如何解決它:http://stackoverflow.com/questions/10713397/mysql-groupconcat-returning-blob-xxxb-kib – jurgenreza 2013-04-07 21:55:17