插件窝 干货文章 Oracle修改时间格式的步骤分享

Oracle修改时间格式的步骤分享

修改 HH24 YYYY FORMAT 131    来源:    2025-04-09

Oracle修改时间格式的步骤

方法一:使用ALTER SESSION命令(临时修改)

-- 修改当前会话的时间格式
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';

此方法只对当前会话有效,断开连接后恢复默认设置。

方法二:修改NLS参数(永久性修改)

  1. 修改数据库参数(需要DBA权限):

    ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' SCOPE=SPFILE;
    ALTER SYSTEM SET NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SS.FF' SCOPE=SPFILE;
    
  2. 重启数据库使更改生效:

    SHUTDOWN IMMEDIATE;
    STARTUP;
    

方法三:修改环境变量(客户端设置)

在客户端环境中设置以下环境变量:

  • Linux/Unix:

    export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
    export NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SS.FF'
    
  • Windows:

    set NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS
    set NLS_TIMESTAMP_FORMAT=YYYY-MM-DD HH24:MI:SS.FF
    

方法四:使用TO_CHAR函数(查询时格式化)

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS formatted_date FROM dual;
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF') AS formatted_timestamp FROM dual;

常用时间格式说明

格式代码 说明
YYYY 4位年份
MM 月份(01-12)
DD 日期(01-31)
HH24 24小时制小时(00-23)
MI 分钟(00-59)
SS 秒(00-59)
FF 毫秒(1-6位)
DY 星期缩写
DAY 星期全称

注意事项

  1. 永久性修改需要DBA权限
  2. 修改后可能需要重启数据库才能生效
  3. 不同客户端工具可能有自己的默认设置
  4. 某些应用程序可能会覆盖这些设置