首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 毫秒時間戳轉換為日期時間字串

     編輯:Oracle 教學

Oracle 毫秒時間戳轉換為日期時間字串

資料庫儲存的日期為科學記號毫秒值(如 1.3377024E12),需轉為可讀格式。直接在 SQL 中轉換比程式端處理更高效。

轉換邏輯

  1. 將科學記號轉數值:TO_NUMBER(1.3377024E12)
  2. 毫秒轉天數:除以 1000 * 60 * 60 * 24
  3. 加上 Unix Epoch 起始時間(UTC+8):TO_DATE('1970-01-01 08:00:00','YYYY-MM-DD HH:MI:SS')
  4. 格式化輸出:TO_CHAR(..., 'YYYY-MM-DD HH:MI:SS')

完整 SQL

SELECT TO_CHAR(
         TO_NUMBER(1.3377024E12) / (1000 * 60 * 60 * 24)
         + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'),
         'YYYY-MM-DD HH:MI:SS'
       ) AS finishcasedate
FROM DUAL;

說明

  • 若資料庫時區非 UTC+8,請調整基準時間字串。
  • 同邏輯適用於 Java System.currentTimeMillis() 產生的長整數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved