oracle主键(19位)_6位英文+13位数字

'YDFGJB' || ((SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF')) )


秒级时间戳 (10位数字)

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

-----------------------------------------------------
(10位数字) : 1167040878
  用当前的时间减去1970年1月1日8时,得到的天数乘以24小时乘以3600秒,得到的结果就是系统时间戳。这里用8时的原因时系统所处时区为东8区。

 
 

毫秒级时间戳 (13位数字)

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
--------------
(13位数字) :1167041794765

发布了81 篇原创文章 · 获赞 0 · 访问量 709

猜你喜欢

转载自blog.csdn.net/weixin_42699486/article/details/98455932