Oracle 時間戳生成語句(秒級+毫秒級)


  在網上查找了很多通過Oracle生成時間戳的方法,大部分都是比較復雜,以下這個方法應該是比較簡單,而且能實現秒級及毫秒級的時間戳,推薦一下:

  • 秒級時間戳
SQL> SELECT (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400 FROM DUAL;

(SYSDATE-TO_DATE('1970-1-18','YYYY-MM-DDHH24'))*86400
-----------------------------------------------------
1167040878

  用當前的時間減去1970年1月1日8時,得到的天數乘以24小時乘以3600秒,得到的結果就是系統時間戳。這里用8時的原因時系統所處時區為東8區。

 

  • 毫秒級時間戳
SQL> SELECT (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF')) AS MILLIONS FROM DUAL;

MILLIONS
--------------
1167041794765

  毫秒級的就更精確了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM