当前位置:首页 > 数据库 > 正文内容

Oracle修改默认的时间格式的方法

2024-11-30数据库6

默认的日期和时间格式由参数NLS_DATE_FORMAT控制

如果需要修改默认的时间格式,可以通过修改会话级别系统级别的参数来实现

1. 会话级别

在当前会话中设置日期格式,这只会影响当前会话,而不会影响其他用户的会话

1
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

验证会话级别的设置

1
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

2. 系统级别

更改初始化参数文件(spfile或pfile)来永久修改系统级别的默认日期格式

  • 使用spfile(服务器参数文件):ALTER SYSTEM SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS' SCOPE=SPFILE;

  • 使用pfile(文本参数文件):NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

重启数据库生效:

1
2
SHUTDOWN IMMEDIATE;
STARTUP;

再次验证:

1
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

3. 环境配置

客户端机器上设置环境变量,例如:

  • Windows: 在环境变量中添加NLS_DATE_FORMAT

  • Linux/Unix: 在.bash_profile.profile中添加:export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

4. 函数格式化

在查询中使用TO_CHAR函数

1
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS formatted_date FROM DUAL;

5. 总结

常用日期格式示例

  • YYYY-MM-DD: 2024-06-20

  • DD-MON-YYYY:20-JUN-2024

  • YYYY/MM/DD HH24:MI:SS:2024/06/20 14:30:00