gpt4 book ai didi

oracle - oracle中的时差

转载 作者:行者123 更新时间:2023-12-04 23:52:42 24 4
gpt4 key购买 nike

嗨,我有下表,其中包含开始时间,结束时间,总时间

STARTTIME            | ENDTIME             | TOTAL TIME TAKEN  |
02-12-2013 01:24:00 | 02-12-2013 04:17:00 | 02:53:00 |

我需要更新 TOTAL TIME TAKEN字段如上使用oracle中的更新查询

为此,我尝试了以下选择查询
select  round((endtime-starttime) * 60 * 24,2),
endtime,
starttime
from purge_archive_status_log

但我收到了 02.53 结果,但我的期望格式是 02:53:00 请让我知道我该怎么做?

最佳答案

可能没有理由拥有该 total_time_taken表中的列,您可以随时计算它的值。但是如果坚持要保留,最好重新创建为interval day to second的列。数据类型,不是 varchar2 (假设这是它当前的数据类型)。所以这里有两个查询供您选择,一个返回值 interval day to second数据类型和另一个值 varchar2数据类型:

此查询返回两个日期之间的差异作为值 interval day to second数据类型:

SQL> with t1(starttime, endtime, total_time_taken ) as(
2 select to_date('02-12-2013 01:24:00', 'dd/mm/yyyy hh24:mi:ss')
3 , to_date('02-12-2013 04:17:00', 'dd/mm/yyyy hh24:mi:ss')
4 , '02:53:00'
5 from dual
6 )
7 select starttime
8 , endtime
9 , (endtime - starttime) day(0) to second(0) as total_time_taken
10 from t1
11 ;

结果:
STARTTIME            ENDTIME               TOTAL_TIME_TAKEN  
----------- ----------- ----------------
02-12-2013 01:24:00 02-12-2013 04:17:00 +0 02:53:00

此查询返回两个日期之间的差异作为值 varchar2数据类型:
SQL> with t1(starttime, endtime, total_time_taken ) as(
2 select to_date('02-12-2013 01:24:00', 'dd/mm/yyyy hh24:mi:ss')
3 , to_date('02-12-2013 04:17:00', 'dd/mm/yyyy hh24:mi:ss')
4 , '02:53:00'
5 from dual
6 )
7 select starttime
8 , endtime
9 , to_char(extract(hour from res), 'fm00') || ':' ||
10 to_char(extract(minute from res), 'fm00') || ':' ||
11 to_char(extract(second from res), 'fm00') as total_time_taken
12 from(select starttime
13 , endtime
14 , total_time_taken
15 , (endtime - starttime) day(0) to second(0) as res
16 from t1
17 )
18 ;

结果:
STARTTIME            ENDTIME              TOTAL_TIME_TAKEN  
----------- ----------- ----------------
02-12-2013 01:24:00 02-12-2013 04:17:00 02:53:00

关于oracle - oracle中的时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20392662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com