永久更改数据库日期格式

时间:2017-10-09 10:53:31

标签: oracle oracle11g

目前Oracle中的默认日期格式是dd-MON-yy:

10-SEPT-17

我想将Oracle日期格式设置永久更改为Monddyyyy hh12:mi:ss pm,这是由于遗留程序sql insert语句是以这种方式编写的,因此我想更改格式示例如下:

SEPT102017 06:52:00 pm 

我尝试过使用alter session,但是它对我的应用程序sql不起作用,请建议哪种方法能够做到这一点

2 个答案:

答案 0 :(得分:3)

您可以使用命令

在会话中更改它
ALTER SESSION SET NLS_DATE_FORMAT='Monddyyyy hh12:mi:ss'

但是,如果您无法在应用程序中执行此操作,则可以通过更改系统默认值来更改它

ALTER SYSTEM SET NLS_DATE_FORMAT='Monddyyyy hh12:mi:ss' scope=both

答案 1 :(得分:1)

如果您不想使用ALTER SYSTEM(根据BA's answer),您可以创建一个登录触发器来更改会话参数:

CREATE OR REPLACE TRIGGER CHANGE_DATE_FORMAT
AFTER LOGON ON DATABASE
CALL DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT','"MONDDYYYY HH12:MI:SS AM"')
/
相关问题