2009-10-07 78 views
1

我是Oracle新手(主要是直到現在我一直在使用MySQL),所以這可能是一個愚蠢的問題。但我已經創造了這個表(名稱不是英語,但忽略了一點,那就是並不重要):Oracle數據庫10g快捷版和日期格式

CREATE TABLE Auta (
id_auto NUMBER(5) UNIQUE NOT NULL, 
typ CHAR(10), 
specifikacia_typu CHAR(15), 
SPZ CHAR(8), 
farba CHAR(20), 
datum_vyroby DATE, 
pocet_miest NUMBER(2), 
pociatok_km NUMBER(6), 
poplatok_denny NUMBER(4), 
poplatok_km NUMBER(2)); 

然後我試圖使用這個INSERT查詢:

INSERT INTO Auta VALUES (
1 
,'Audi' 
,'A6' 
,'KE1-1548' 
,'cierna' 
,'20-12-2004' 
,5 
,158749 
,1356 
,88 
); 

我得到一個錯誤:

ORA-01843: not a valid month 

我使用的日期格式是DD-MM-YYYY。我也試過DD.MM.YYYY,DD/MM/YYYY,我也試過像這樣轉換月 - 日 - MM-DD-YYYY,MM/DD/YYYY - 並且仍然是同樣的錯誤。

怎麼辦?

回答

6

替換:

,'20-12-2004' 

...有:

, TO_DATE('20-12-2004', 'DD-MM-YYYY') 

參考:TO_DATE

+3

+1 ...絕對不應該依賴於默認的NLS設置 – dpbradley 2009-10-07 18:42:35

0

Oracle日期格式是DD-MON-YY。

0

使用日期格式20-april-2004而不是20-4-2004

+0

在這裏,我們更喜歡那些解釋你爲什麼說你在說什麼的答案。也許在你的回答中添加一些文字,以便OP瞭解你的建議。謝謝! – theJollySin 2013-01-07 21:24:31

0

使用DD-MMM-YYYY格式將日期插入到數據庫中。

例如,15-Mar-2013

+1

這不是一個正確的答案。它對手頭的技術問題沒有任何認識。 – Pradeep 2013-03-03 06:41:10