当给出呼叫开始的时间戳和呼叫的持续时间时,如何计算呼叫结束的时间戳hh:mi:ss?

时间:2017-06-23 19:57:55

标签: sql oracle timestamp

我有一个标记为Call_Timestamp的字段,它是呼叫开始的日期/时间。然后我有一个标记为Call_Time的字段,它是hh:mi:ss中呼叫的持续时间。如何将Call_Time添加到Call_Timestamp以获取呼叫结束的时间戳?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用:

SELECT call_timestamp + ( TO_TIMESTAMP( call_time, 'HH24:MI:SS' )
                        - TO_TIMESTAMP( '00:00:00', 'HH24:MI:SS' ) )
         AS call_end_timestamp
FROM   your_table

或:

SELECT call_timestamp + TO_DSINTERVAL( '0 ' || call_time )
         AS call_end_timestamp
FROM   your_table;

更好的方法是将CALL_TIME字段存储为INTERVAL DAY TO SECOND类型,然后您只需添加两个字段:

SELECT call_timestamp + call_time AS call_end_timestamp
FROM   your_table