Sql日期到小时数(总计)

时间:2019-06-13 13:30:41

标签: sql oracle date sum timestamp

我有这个查询:

   SELECT
     NUMTODSINTERVAL(
     SUM( TO_DATE( MT.TI_CONTR, 'HH24:MI' ) - TO_DATE( '00:00', 'HH24:MI' ) ),
     'DAY'
     ) AS total
   FROM MYTABLE MT;

执行此查询,我得到以下信息:

+22 19:02:00.000000
+94 19:26:00.000000
+46 03:50:00.000000
+76 08:30:00.000000
+44 02:42:00.000000

当然,这是到达24点后的小时数。

TI_CONTR列是以以下格式存储小时和分钟的varchar:hh:mm(例如'05:22')。

我如何才能获得总时数(例如252:20)的重新库存?

谢谢

1 个答案:

答案 0 :(得分:2)

Oracle不允许您对INTERVAL数据类型执行SUM(),因此最好使用老式的SUBSTR()和数学方法来解决。

{{1}}