Wednesday, December 12, 2007

Oracle Unix Timestamp

Generate Unix Timestamp in Oracle
SELECT (sysdate - to_date('01-JAN-1970','DD-MON-YYYY')) * (86400) AS dt FROM dual;

and you can create functions for this:

FUNCTION unixtimestampToDate( in_Date IN number )
RETURN DATE IS
BEGIN
RETURN to_date('01-jan-1970','dd-mon-yyyy')+(in_Date/(60*60*24));
END ;

FUNCTION DateToUNIXTimestamp( in_Date IN DATE )
RETURN NUMBER IS
BEGIN
RETURN TRUNC((in_Date-TO_DATE('01-jan-1970','dd-mon-yyyy'))*60*60*24);
END ;

No comments: