2
我將一些計算從FORTRAN轉換爲PL/SQL。 請讓我解釋一下:減去2日期PL/SQL但日期之一是0
在我的Oracle數據庫表中,我有兩個屬性的以下日期值。
attribute1: '01/01/0001', This is a date not a string.
attribute2: '08/24/1918', This is a date not a string.
我所試圖做的是,如果ATTRIBUTE1等於01/01/0001' ,然後將其轉換成00/00/0000再減去attribute2就像下面的代碼:
//Decode missing for '01/01/0001'
select round((to_date('01/01/0001', 'mm/dd/yyyy') - to_date('01/24/1918', 'mm/dd/yyyy'))/365.25, 3)as dt from dual;
FORTRAN代碼正在做的是將'01/01/0001'轉換爲'0/0/0',然後進行減號操作。像這樣,
round((('0/ 0/ 0' - '08/24/1918')/365.25), 3). Round to the 3 decimal place.
我知道我錯過了在PL/SQL代碼解碼上述轉換'01/01/0001,基本上爲零。
運行PL/SQL代碼,您將得到-1917.027的值。 FORTRAN代碼返回值爲-1918.732。 PL/SQL代碼關閉一天,一個月和一年。
如何將'01/01/0001'轉換爲零,然後減去一個日期?
請幫忙,並提前致謝。
也許只是創建函數減去兩個日期硬核-1.705。 – dcieslak