NLS_DATABASE_PARAMETERS,默認 DD-MON-YY。NLS_INSTANCE_PARAMETERS (init.ora/spfile),默認同數據庫級。NLS_SESSION_PARAMETERS,可由 ALTER SESSION SET NLS_DATE_FORMAT 修改。HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_DATE_FORMAT 或 Linux NLS_LANG 環境變量。| 操作 | DB 級 | Instance 級 | Session 級 | SQL*Plus 顯示 |
|---|---|---|---|---|
| 初始狀態 | DD-MON-YY | DD-MON-YY | DD-MON-YY | DD-MON-YY |
| ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD' | DD-MON-YY | DD-MON-YY | YYYY-MM-DD | YYYY-MM-DD |
| 重啟 DB 後 | DD-MON-YY | DD-MON-YY | DD-MON-YY | DD-MON-YY |
| init.ora 加 NLS_DATE_FORMAT=YYYY-MM-DD 並重啟 | DD-MON-YY | YYYY-MM-DD | DD-MON-YY | DD-MON-YY |
| Win 註冊表設 YYYY/MM/DD HH24:MI:SS | DD-MON-YY | YYYY-MM-DD | YYYY/MM/DD HH24:MI:SS | YYYY/MM/DD HH24:MI:SS |
應用程序中永遠使用 TO_CHAR(date_col, 'YYYY-MM-DD HH24:MI:SS') 顯式格式化,切勿依賴隱式 NLS 格式,否則跨環境部署極易出錯。