2016-11-13 120 views
2

我試圖改變會議的日期格式爲 「YYYY-MM-DD HH:MI:SS:FF6」錯誤ORA-01821 「的日期格式無法識別」

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH:MI:SS:FF6' 

是我想要使用,它給我的錯誤ORA-01821「日期格式無法識別」。

我在做什麼錯?

回答

6

Oracle DATE類型僅具有二級精度(而不是微秒級精度),所以日期格式不支持FF表示法。如果你真的想微秒追加,你可以寫:

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH:MI:SS:"000000"'; 

或者,也許你其實想設置默認時間戳格式?如果是這樣的:

ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH:MI:SS:FF6'; 
+0

嗯,這是家庭作業,我想認爲我的教練會知道他在這裏doing..but是整個問題:「5 \t更改爲當前會話所以它的日期格式以「YYYY-MM-DD HH:MM:SS.FF6」格式顯示時間,然後編寫一條SELECT語句,它在Products表中將est_time轉換爲東部標準時間(EST)後從Products表中檢索date_added列,如下所示:列名「。正如所寫,我不能這樣做,因爲它給了我「格式代碼出現兩次」的錯誤。不知道爲什麼我應該追加FF6。 – Itsonlyme

+0

回覆:導師知道他在做什麼:老實說,這兩個錯誤(指定日期格式的亞秒格式,使用'MM'分鐘)對我來說似乎都很小。我可能至少犯了五次這些錯誤。當然,理想情況下,他會在分發之前嘗試他的指示;但是,呃,導師也是人。 – ruakh

+0

顯然,說明是錯誤的。回覆:對教練的評估,我希望你沒有爲這個教學付出太多。懶散的英語老師 - 好的。懶散的IT教練?我比@ruakh更不理解;好,如果他的語法不完美(對於英語老師來說是不可原諒的)。可惜你必須忍受他/她。 – mathguy