如目前在Oracle中默認的日期格式爲DD-MON-YY:更改數據庫的日期格式永久
10-SEPT-17
我想更改Oracle日期格式永久設置爲Monddyyyy HH12:MI:SS時,這是由於傳統計劃SQL INSERT語句寫在這樣的方式,因此,我想換以下格式例如:
SEPT102017 06:52:00 pm
我試過用alter會議,但它不工作對我的應用程序的SQL,請告知哪種方法能夠做到這一點
如目前在Oracle中默認的日期格式爲DD-MON-YY:更改數據庫的日期格式永久
10-SEPT-17
我想更改Oracle日期格式永久設置爲Monddyyyy HH12:MI:SS時,這是由於傳統計劃SQL INSERT語句寫在這樣的方式,因此,我想換以下格式例如:
SEPT102017 06:52:00 pm
我試過用alter會議,但它不工作對我的應用程序的SQL,請告知哪種方法能夠做到這一點
如果你不想使用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"')
/
選擇你的答案是更好的方法,因爲它更好,更易於管理,而Alter SYSTEM難以遷移/配置爲新的環境 – TinyIss
您可以使用命令來改變它的會話
ALTER SESSION SET NLS_DATE_FORMAT='Monddyyyy hh12:mi:ss'
但是,如果你不能做到這一點,從您的應用程序中,你可以通過改變系統默認
ALTER SYSTEM SET NLS_DATE_FORMAT='Monddyyyy hh12:mi:ss' scope=both
我想用Alter系統,但是我得到這個指定的初始化參數是該選項無法修改。有沒有其他方法來更改系統默認日期格式? – TinyIss
通常這個參數可以使用'alter system'來設置。看看這個帖子,用pfile改變spfile:http://www.orafaq.com/node/5 –
該方法是錯誤的。數據庫無法適應您的應用程序的SQL,反之亦然。更改默認的日期格式可能會造成更多的問題。更改SQL並在所有日期時間操作上使用TO_DATE()函數。 –
您還可以通過環境變量和/或註冊表設置在客戶端上設置默認值。 –
請顯示您的代碼。如果ALTER SESSION不起作用,那麼你的代碼有問題 –