目前Oracle中的默认日期格式是dd-MON-yy:
10-SEPT-17
我想将Oracle日期格式设置永久更改为Monddyyyy hh12:mi:ss pm,这是由于遗留程序sql insert语句是以这种方式编写的,因此我想更改格式示例如下:
SEPT102017 06:52:00 pm
我尝试过使用alter session,但是它对我的应用程序sql不起作用,请建议哪种方法能够做到这一点
答案 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"')
/