以正确的持续时间转换Julien日期和时间戳

时间:2019-02-01 12:33:19

标签: sql oracle

我有一个带有此数据的Oracle数据库(提取-有更多列-总计) 第一个是名称,第二个是部门。 然后在CJDate有JDE朱利安日期-格式。 并且cStart和cEnds包含时间戳。

enter image description here

我想以“ DD.MM.YYYY”格式获取日期,并以“ D.HH:MM:SS”获取cStart和cEnd之间的持续时间。 但是有一些奇特的东西。如果cEnd中的值介于0和62000之间,则cJDate应该为-1。 如果cEnd的值为240000,是否可以获得正确的持续时间?或者将其转换为23:59:59或cJDate -1和00:00:00?

我已经用这个来获取正确的日期:

DATE '1900-01-01' + FLOOR(ZZ."cJDate" / 1000) * INTERVAL'1' YEAR+
(MOD(ZZ."cJDate", 1000) -1) * INTERVAL'1' DAY AS "Date",

有人有什么主意吗?

最诚挚的问候

1 个答案:

答案 0 :(得分:1)

直到现在我一直在使用它:

select to_date(to_char(cjDate), 'YYYDDD')
from dual;

不Julian日期它更像JDE Julian date

示例输出:

  

118316→18/12/11