如何在oracle中获取时间戳的总和?
How to get Sum of timestamp in oracle?
不幸的是,我在数据库中将时间戳存储为 varchar,格式如下 07:53:39
现在我想要存储为 varchar 的时间戳的总和,我编写了以下查询以将 varchar 转换为通过删除冒号的时间戳,现在我想要这个时间戳的总和,我怎么能得到它,
select TO_CHAR(to_timestamp(regexp_replace(ru.duration,'(*[[:punct:]])',''),'HH:MI:SS'),'HH:MI:SS') FROM RESOURCE_UTILIZATION RU WHERE RU.RESOURCE_NAME='AKSHAY ANPAT';
以下是上述查询的输出:
07:53:39
03:07:02
07:18:21
05:10:44
06:14:49
07:43:51
请帮我在上面的查询中得到时间戳的总和。
我的猜测是,您想对相关日期的时间戳和午夜之间的时间间隔求和。如果你想得到一个interval day to second
作为结果
with x as (
select '01:23:45' val from dual union all
select '02:15:30' from dual
)
select numtodsinterval( sum( to_date( val, 'hh24:mi:ss' ) - trunc( sysdate, 'MM' ) ), 'day' )
from x
returns区间+000000000 03:39:15.000000000
。您还可以通过删除 numtodsinterval
调用
来获得不同的天数
with x as (
select '01:23:45' val from dual union all
select '02:15:30' from dual
)
select sum( to_date( val, 'hh24:mi:ss' ) - trunc( sysdate, 'MM' ) )
from x
不幸的是,我在数据库中将时间戳存储为 varchar,格式如下 07:53:39
现在我想要存储为 varchar 的时间戳的总和,我编写了以下查询以将 varchar 转换为通过删除冒号的时间戳,现在我想要这个时间戳的总和,我怎么能得到它,
select TO_CHAR(to_timestamp(regexp_replace(ru.duration,'(*[[:punct:]])',''),'HH:MI:SS'),'HH:MI:SS') FROM RESOURCE_UTILIZATION RU WHERE RU.RESOURCE_NAME='AKSHAY ANPAT';
以下是上述查询的输出:
07:53:39
03:07:02
07:18:21
05:10:44
06:14:49
07:43:51
请帮我在上面的查询中得到时间戳的总和。
我的猜测是,您想对相关日期的时间戳和午夜之间的时间间隔求和。如果你想得到一个interval day to second
作为结果
with x as (
select '01:23:45' val from dual union all
select '02:15:30' from dual
)
select numtodsinterval( sum( to_date( val, 'hh24:mi:ss' ) - trunc( sysdate, 'MM' ) ), 'day' )
from x
returns区间+000000000 03:39:15.000000000
。您还可以通过删除 numtodsinterval
调用
with x as (
select '01:23:45' val from dual union all
select '02:15:30' from dual
)
select sum( to_date( val, 'hh24:mi:ss' ) - trunc( sysdate, 'MM' ) )
from x