首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 日期時間格式完整指南:儲存、顯示、插入、轉換、Session 修改

     編輯:Oracle 資料庫相關知識

1. 儲存機制

  • 內部固定 7 位元組:世紀、年、月、日、時、分、秒 (無毫秒)。
  • 精度至秒;前端若為毫秒 (如 PowerBuilder) 需注意截斷。

2. 顯示格式由 NLS 決定

查看目前 Session 格式:SELECT SYSDATE FROM DUAL;

3. 插入日期資料兩大法

  • 遵循 Session 格式:直接寫字串,如 '28-JAN-2003' (英文環境)。
  • 使用轉換函數 (強烈建議):
    • TO_DATE('2003-01-28 15:23:38', 'YYYY-MM-DD HH24:MI:SS') 插入
    • TO_CHAR(sysdate, 'YYYY-MM-DD HH24:MI:SS') 查詢

4. 修改 Session 日期格式三法

字元集預設顯示範例
US7ASCII / WE8ISO8859P128-JAN-2003
ZHS16GBK / ZHT16BIG52003-1月-28
方法指令/位置生效範圍優先序
ALTER SESSIONALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';目前 Session最高
登錄表 (Windows)HKLM\SOFTWARE\ORACLE\HOME0\NLS_DATE_FORMAT所有 sqlplus 視窗中
glogin.sql$ORACLE_HOME/sqlplus/admin/glogin.sql 加入 ALTER SESSION所有 sqlplus Session中

ALTER SESSION 優先級最高,覆蓋登錄表與 glogin.sql 設定。

5. 最佳實務建議

  • 程式碼/批次腳本 務必使用 TO_DATE/TO_CHAR 顯式指定格式,不依賴環境預設。
  • 資料庫欄位 嚴禁用 VARCHAR2 存日期,失去運算、索引、分區、統計資訊優勢。
  • 常用格式元素:YYYY 4 位年、MM 月、DD 日、HH24 24 小時、MI 分、SS 秒、MON 月縮寫、DAY 星期。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved