将VARCHAR2转换为Number

我有一个表,其中有一个名为的列duration。其数据类型为VARCHAR2

我想对这一栏进行总结duration

00:56:30

02:08:40

01:01:00

总计=> 04:05:10

如何使用ANSI SQL或Oracle SQL执行此操作?

回答:

您可以使用来分隔小时,分钟和秒SUBSTR,然后将SUM其向上,最后使用NUMTODSINTERVALfunction将其转换为INTERVALtype。

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

回到顶部