Sql server 将儒略日期转换为JDE儒略日期

Sql server 将儒略日期转换为JDE儒略日期,sql-server,plsql,julian-date,Sql Server,Plsql,Julian Date,有人知道如何将今天的儒略日期(2456425)转换为JDE吗 朱利安日期(113133) 谢谢对我来说,今天的朱利安日期(至少在甲骨文看来)应该是2456426。但是,好的,如果你今天(2013年5月13日)的条件是朱利安日期2456425,那么以下代码应该可以满足你的需要: DECLARE nJulian NUMBER := 2456425; nCentury NUMBER; nYear NUMBER; nDay NUMBER; nJDEdate

有人知道如何将今天的儒略日期(2456425)转换为JDE吗 朱利安日期(113133)


谢谢

对我来说,今天的朱利安日期(至少在甲骨文看来)应该是2456426。但是,好的,如果你今天(2013年5月13日)的条件是朱利安日期2456425,那么以下代码应该可以满足你的需要:

DECLARE 
  nJulian   NUMBER := 2456425;
  nCentury  NUMBER;
  nYear     NUMBER;
  nDay      NUMBER;
  nJDEdate  NUMBER;
BEGIN
  DBMS_OUTPUT.PUT_LINE('Date=' || TO_DATE(nJulian+1, 'J'));

  nCentury := TRUNC(TO_NUMBER(TO_CHAR(TO_DATE(nJulian+1, 'J'), 'YYYY')) / 100) - 19;

  DBMS_OUTPUT.PUT_LINE('nCentury=' || nCentury);

  nYear := TO_NUMBER(TO_CHAR(TO_DATE(nJulian+1, 'J'), 'YYYY')) - 
          (TRUNC(TO_NUMBER(TO_CHAR(TO_DATE(nJulian+1, 'J'), 'YYYY')) / 100) * 100);

  DBMS_OUTPUT.PUT_LINE('nYear=' || nYear);

  nDay := TO_NUMBER(TO_CHAR(TO_DATE(nJulian+1, 'J'), 'DDD'));

  DBMS_OUTPUT.PUT_LINE('nDay=' || nDay);

  nJDEdate := (nCentury * 100000) + (nYear * 1000) + nDay;

  DBMS_OUTPUT.PUT_LINE('nJDEdate=' || nJDEdate);
END;

共享和享受。

为什么这个标签是SQL Server和PL/SQL(Oracle)?您正在寻找TSQL和PL/SQL中的解决方案吗?提到什么是“JDE朱利安约会”可能会有所帮助。@Pondlife-谷歌是你的朋友(尽管我同意OP应该包括一些关于这一点信息的参考)。@BobJarvis是的,当然,但我认为提问者有责任定义(或至少链接到)更广泛受众可能不熟悉的任何术语。