Oracle数据库10g快捷版和日期格式

Ric*_*nop 1 sql oracle plsql oracle10g ora-01843

我是Oracle的新手(我一直在使用MySQL,直到现在)所以这可能是一个愚蠢的问题.但是我创建了这个表(名字不是英文但忽略它,这并不重要):

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));
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用这个INSERT查询:

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

我收到一个错误:

ORA-01843: not a valid month
Run Code Online (Sandbox Code Playgroud)

我使用的日期格式是DD-MM-YYYY.我也试过DD.MM.YYYY,DD/MM/YYYY,我也尝试过像这样的月 - 日转换 - MM-DD-YYYY,MM/DD/YYYY - 仍然是同样的错误.

该怎么办?

OMG*_*ies 6

更换:

,'20-12-2004'
Run Code Online (Sandbox Code Playgroud)

...有:

, TO_DATE('20-12-2004', 'DD-MM-YYYY')
Run Code Online (Sandbox Code Playgroud)

参考:TO_DATE

  • +1 ...不应该依赖于默认的NLS设置 (3认同)