0

我通过计算时间戳卡住了,我如何计算/求和不同的时间戳,示例如下

Time (Timestamp in one column)
***********************
0:00:01
0:00:08
0:00:12
0:00:38
0:01:04
2:04:49
15:48:38
23:30:59
7:05:52
8:17:29

我想显示总和(时间戳)。有hh:mi什么帮助吗?

4

2 回答 2

0

当添加的值是 TIME 列(如原始问题所示)时,此示例适用于 DB2。诀窍是将时间转换为经过的秒数,这更容易加起来。

WITH origTbl (origTime) AS (VALUES
( TIME( '0:00:01' ) ),
( TIME( '0:00:08' ) ),
( TIME( '0:00:12' ) ),
( TIME( '0:00:38' ) ),
( TIME( '0:01:04' ) ),
( TIME( '2:04:49' ) ),
( TIME( '15:48:38' ) ),
( TIME( '23:30:59' ) ),
( TIME( '7:05:52' ) ),
( TIME( '8:17:29' ) )
)
,
totSeconds( secs ) AS (
SELECT SUM( MIDNIGHT_SECONDS( origTime ) ) 
FROM origTbl
)
SELECT RTRIM( CHAR( secs/3600 ) ) || ':' || 
LPAD( RTRIM( CHAR( MOD(secs, 3600)/60 ) ), 2, '0' ) || ':' ||
LPAD( RTRIM( CHAR( MOD(secs, 60) ) ), 2, '0' ) AS totHMMSS FROM totSeconds
;

TOTHMMSS
-----------------
56:49:50

  1 record(s) selected.
于 2014-02-25T22:22:53.380 回答
0

我可以在 postgresql 中给你打电话,你可以这样做

postgres=# select time '05:00' - time '03:00';
 ?column? 
----------
 02:00:00
(1 row)

不知道这对你有多大帮助

于 2014-02-21T10:13:37.900 回答