タイムスタンプを計算することで立ち往生しています。次の例のように、別のタイムスタンプで計算/合計するにはどうすればよいですか
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
何か助けはありますか?
この例は、追加される値が 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.