如何在Oracle SQL查询中修剪或格式化HH:MM:SS.ms值
我在Oracle SQL中有一个查询,显示的结果如下: SQL:如何在Oracle SQL查询中修剪或格式化HH:MM:SS.ms值,sql,oracle,Sql,Oracle,我在Oracle SQL中有一个查询,显示的结果如下: SQL: select uuid, name, to_char(from_tz(startdate, 'UTC') at time zone 'America/New_York', 'yyyy-mm-dd hh24:mi:ss') as startdate_et, to_char(from_tz(enddate, 'UTC') at time zone 'America/New_York', 'yyyy-mm-dd hh2
select
uuid, name,
to_char(from_tz(startdate, 'UTC') at time zone 'America/New_York', 'yyyy-mm-dd hh24:mi:ss') as startdate_et,
to_char(from_tz(enddate, 'UTC') at time zone 'America/New_York', 'yyyy-mm-dd hh24:mi:ss') as enddate_et,
(enddate - startdate) as executiontime
from
process
where
name = (select name from jobconfiguration where currentprocessid = 'bGd_AAABNaMAAAFQHvY0UyTa');
输出:
这里的问题是executiontime
列中的数据。毫秒值太长,而且我想从开头删除+00
,并将02.951000
修剪为02.95
,将03.284000
修剪为03.28
请引导。两个时间戳之间的差异是一个间隔。默认情况下,这包括秒的长分数 为了便于打印,只需使用
到char()
:
由于差异的默认值是“从天到秒”的间隔,因此您只需要包含这些元素。两个时间戳的差异已经格式化,并以相同的格式打印出来 +/-天数小时:分钟:秒。毫秒 你为什么不想要+00,是因为它是0天吗? 我想如果日差大于零,你会想要它吗 无论如何,使用substr根据需要格式化输出和使用天数时的用例更容易 比如说 substr(开始时间-结束时间,instr(开始时间-结束时间,)+1,2)将毫秒调整为两位数 及 情况下,当编号(substr(开始时间-结束时间,1,指令(开始时间-结束时间,))>0,然后substr(开始时间-结束时间,1,指令(开始时间-结束时间,))或“结束” 获取天数
或substr(开始时间-结束时间,instr(开始时间-结束时间),)完全删除日期开始日期和结束日期的数据类型是什么?谢谢
to_char(fenddate - startdate, 'dd hh24:mi:ss') as executiontime