oracle資料庫實現獲取時間戳的無參函式
阿新 • • 發佈:2020-01-09
程式碼如下所示:
CREATE OR REPLACE FUNCTION GETMSTIMESTAMP RETURN NUMBER AS MSTIMESTAMP NUMBER; BEGIN SELECT (SYSDATE-TO_DATE('1970-1-18','YYYY-MM-DD HH24')) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3),'FF')) INTO MSTIMESTAMP FROM DUAL; RETURN MSTIMESTAMP; END;
之後再mapper檔案或者pl/sql等工具中用select GETMSTIMESTAMP() as timestamp from dual;即可使用
獲得秒級時間戳:
SELECT (SYSDATE - TO_DATE('1970-1-1 8','YYYY-MM-DD HH24')) * 86400 FROM DUAL; (SYSDATE-TO_DATE('1970-1-1 8','YYYY-MM-DDHH24'))*86400 ----------------------------------------------------- 1167040878
用當前的時間減去1970年1月1日8時,得到的天數乘以24小時乘以3600秒,得到的結果就是系統時間戳。這裡用8時的原因時系統所處時區為東8區。
毫秒級時間戳:
SELECT (SYSDATE - TO_DATE('1970-1-1 8','FF')) AS MILLIONS FROM DUAL;
總結
以上所述是小編給大家介紹的oracle資料庫實現獲取時間戳的無參函式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!