您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何在oracle數據庫中獲取時間戳的無參函數,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
代碼如下所示:
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', 'YYYY-MM-DD HH24')) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF')) AS MILLIONS FROM DUAL;
看完上述內容,你們對如何在oracle數據庫中獲取時間戳的無參函數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。