"01-01-9999" tarihinin oracle tarihi alanına milisaniye almak istiyorum.oracle tarihinden itibaren milisaniye cinsinden nasıl geçeceğine dair tarih 01-01-9999
Aynısını elde etmek için aşağıdaki bloğu oluşturdum.
set serveroutput on;
declare
base_point constant timestamp := to_timestamp_tz('01-JAN-1970 00:00:00.000+00:00', 'DD-Mon-RR HH24:MI:SS.FFTZH:TZM') AT TIME ZONE 'UTC';
now timestamp := to_timestamp_tz('01-01-2099 00:00:00.000+00:00', 'DD-MM-RR HH24:MI:SS.FFTZH:TZM') AT TIME ZONE 'UTC';
-- now constant timestamp := systimestamp AT TIME ZONE 'UTC' ;
n number;
begin
select to_timestamp_tz(to_char(todate,'DD-MM-YY HH24:MI:SS')||'.000+00:00','DD-MM-YY HH24:MI:SS.FFTZH:TZM')
into now
from t_table where ACCOUNTID = 'ACC001124211';
DBMS_OUTPUT.put_line(' now :'||now);
n := (
((extract(day from (now-base_point)))*86400)
+ ((extract(hour from (now-base_point)))*3600)
+ ((extract(minute from (now-base_point)))*60)
+ ((extract(second from (now-base_point))))
) * 1000;
DBMS_OUTPUT.put_line(' n :'||n);
end;
/
ama benim tabloda tarih 1/1/2099
ancak gerçek tarihe eşittir ben 4070908800000
olarak değerini alıyorum bloğun, yukarıda kullanarak Tarih alanını
01-01-9999
olduğunu
Bu aynı şey [unix zaman Oracle içine damgası veri türü dönüştürme] (http://stackoverflow.com/questions/12105691/convert-timestamp-datatype-into-unix-timestamp-oracle) –