-- 修改当前会话的时间格式
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';
此方法只对当前会话有效,断开连接后恢复默认设置。
修改数据库参数(需要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;
重启数据库使更改生效:
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
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 | 星期全称 |