前言
默认的日期和时间格式由参数NLS_DATE_FORMAT
控制
如果需要修改默认的时间格式,可以通过修改会话级别或系统级别的参数来实现
1. 会话级别
在当前会话中设置日期格式,这只会影响当前会话,而不会影响其他用户的会话
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
验证会话级别的设置
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'
重启数据库生效:
SHUTDOWN IMMEDIATE; STARTUP;
再次验证:
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函数
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
到此这篇关于Oracle修改默认的时间格式的四种方式的文章就介绍到这了,更多相关Oracle修改时间格式内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!