代碼如下所示:
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數據庫實現獲取時間戳的無參函數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
您可能感興趣的文章:- oracle中的greatest 函數和 least函數示例代碼
- oracle中的一些常用函數及示例
- Oracle 中Contains 函數的用法
- Oracle常用函數Trunc及Trunc函數用法講解
- Oracle中的translate函數和replace函數的用法詳解
- oracle中decode函數的使用方法示例
- Oracle 中 decode 函數用法
- oracle求字符串長度函數length()和hengthb()簡介
- Oracle計算時間差常用函數
- oracle常用分析函數與聚合函數的用法