2017-06-12 6 views
1

EXCELファイルから日付を抽出しました。これは42885.4253360301で、日付はExcel形式でDD-MON-RR HH:MI:SS UTCです。 oracle関数を使用して小数点の値をdatetimeに変換したいとします。 続行するには?抽出された日付を10進数でOracleに変換する方法

+0

この「小数点以下の値」は、日数、時間、分または秒の数ですか、それとも何か他のものでしょうか? –

+0

知らない。私はパーベイシブツールを使用してEXCELファイルから日付を抽出し、この小数値を得ました。 –

答えて

5

私は本当に小数点値を持つOracle日付計算のための出発点であるかわからないが、あなたのようなものを取る場合:

select to_date('01/01/1900', 'dd/mm/yyyy')+42885.4253360301 as my_date from dual; 

あなたの結果は

MY_DATE   
------------------- 
01/06/2017 10:12:29 

はあなたのことを意味しています開始点に追加することで、簡単な日付操作をExcelの値に適用できます。どの出発点?私は本当に伝えることはできませんが、うまくいけば、これはヒントとして機能することができます。

+1

私は彼の小数点の値をExcelに差し込み、Dateに変換して、彼が実際にどの日付を使用したかを把握しました:May 30、2017 10:12:29これをOracleに入れて42885.4253360301を引くと、30-dec-1899 00:00:00となり、正しいアイデアが得られますが、1899年12月30日を「ベース」の日付として使用する必要があると思われます(Jan 1、1900)し、それに加えて..;)でも、おそらく私が知っている最も簡単な方法です。 – Ditto

+1

答えを補完してくれてありがとう@Ditto、これがTanmayにとって助けになるかどうかを見てみましょう。 –

+2

あなたはまさに正しい軌道に乗っています。 Excelは実際には1900年1月1日から開始されますが、マイクロソフトは早期に間違いを犯しました。つまり、彼らは1900年を閏年(!!!!!)として扱いましたが、今やこれらの問題はすべて発生しています。これはExcelで非常に簡単にテストできます(1900年2月28日以降の日付は、1900年が閏年ではないにもかかわらず、1900年2月29日の時点で驚くほどです)。 – mathguy

関連する問題