代碼如下所示:
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;即可使用
獲得秒級(jí)時(shí)間戳:
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
用當(dāng)前的時(shí)間減去1970年1月1日8時(shí),得到的天數(shù)乘以24小時(shí)乘以3600秒,得到的結(jié)果就是系統(tǒng)時(shí)間戳。這里用8時(shí)的原因時(shí)系統(tǒng)所處時(shí)區(qū)為東8區(qū)。
毫秒級(jí)時(shí)間戳:
SELECT (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF')) AS MILLIONS FROM DUAL;
總結(jié)
以上所述是小編給大家介紹的oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)獲取時(shí)間戳的無(wú)參函數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- oracle中的greatest 函數(shù)和 least函數(shù)示例代碼
- oracle中的一些常用函數(shù)及示例
- Oracle 中Contains 函數(shù)的用法
- Oracle常用函數(shù)Trunc及Trunc函數(shù)用法講解
- Oracle中的translate函數(shù)和replace函數(shù)的用法詳解
- oracle中decode函數(shù)的使用方法示例
- Oracle 中 decode 函數(shù)用法
- oracle求字符串長(zhǎng)度函數(shù)length()和hengthb()簡(jiǎn)介
- Oracle計(jì)算時(shí)間差常用函數(shù)
- oracle常用分析函數(shù)與聚合函數(shù)的用法