【发布时间】:2018-12-13 00:34:13
【问题描述】:
不幸的是,这是我第一次使用 SQL! 我正在使用以下代码在 oracle DB 和 Excel(Power Query)之间创建一个查询。
select "$Table"."Order" as "Order",
"$Table"."NR" as "Nr",
"$Table"."JDDATE" as "JDDATE"
from "POOLDB2"."3112" "$Table"
WHERE "Key" >118001
AND "CodeAA" = 1
此代码有效!
现在我想将儒略日期 (CYYDDD)(例如 01.01.2019 的 118001)格式化为正常的日期格式。 有谁知道,如何在上面的代码中实现这一点? 也许是这样的:
select "$Table"."Order" as "Order",
"$Table"."NR" as "Nr",
DATEADD(DAY, JDDATE % 1000 - 1, DATEADD(year, JDDATE/1000, 0))
"$Table"."JDDATE" as "JDDATE"
from "POOLDB2"."3112" "$Table"
WHERE "Key" >118001
AND "CodeAA" = 1
最好的问候
【问题讨论】:
-
这绝对是不是朱利安约会。儒略日期定义为自公元前 4713 年 1 月 1 日中午以来的天数。因此,两个相邻年份的同一天之间的 JD 差异为 365 或 366,而在 CYYDDD 格式中,则始终为 1000。您所拥有的是 序数日期 (en.wikipedia.org/wiki/Ordinal_date) .
-
您确定 118001 应该是 2019-01-01 而不是 2018-01-01?
-
是的,我的错。 118001是2018年1月1日,对不起
标签: sql oracle powerquery