插件窝 干货文章 Oracle如何修改时间格式?

Oracle如何修改时间格式?

修改 格式 会话 FORMAT 98    来源:    2025-04-09

修改Oracle数据库时间格式的方法

在Oracle数据库中,可以通过以下几种方式修改时间显示格式:

1. 会话级修改(临时生效)

-- 修改当前会话的日期时间格式
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';

2. 环境变量设置(永久生效)

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

# Linux/Unix
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

# Windows
set NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS

3. 注册表修改(Windows客户端)

  1. 打开注册表编辑器(regedit)
  2. 导航到 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_<Oracle Home Name>
  3. 添加或修改字符串值 NLS_DATE_FORMAT,值为所需格式

4. 使用TO_CHAR函数转换

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

5. 系统级修改(需DBA权限)

-- 修改系统默认格式(影响所有新会话)
ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' SCOPE=SPFILE;

常用格式说明

格式元素 说明
YYYY 4位年份
MM 月份(01-12)
DD 日(01-31)
HH24 24小时制小时(00-23)
MI 分钟(00-59)
SS 秒(00-59)
FF 毫秒(1-6位)

修改后需要重新登录会话或重启数据库(对于系统级修改)才能生效。