将VARCHAR2转换为Number
我有一个表,其中有一个名为的列duration
。其数据类型为VARCHAR2
。
我想对这一栏进行总结duration
。
00:56:3002:08:40
01:01:00
总计=> 04:05:10
如何使用ANSI SQL或Oracle SQL执行此操作?
回答:
您可以使用来分隔小时,分钟和秒SUBSTR
,然后将SUM
其向上,最后使用NUMTODSINTERVAL
function将其转换为INTERVAL
type。
SELECT NUMTODSINTERVAL (SUM (total_secs), 'second') FROM (SELECT SUBSTR (duration, 1, 2) * 3600
+ SUBSTR (duration, 4, 2) * 60
+ SUBSTR (duration, 7, 2) total_secs
FROM user_tab);
以上是 将VARCHAR2转换为Number 的全部内容, 来源链接: utcz.com/qa/399469.html