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

时间:2009-10-07 18:33:24

标签: 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));

然后我尝试使用这个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 - 仍然是同样的错误。

怎么办?

4 个答案:

答案 0 :(得分:6)

替换:

,'20-12-2004'

...与:

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

参考:TO_DATE

答案 1 :(得分:0)

oracle日期格式为DD-MON-YY。

答案 2 :(得分:0)

使用20-april-2004的日期格式代替20-4-2004

答案 3 :(得分:0)

在将日期插入数据库时​​使用 DD-MMM-YYYY 格式。

例如,15-Mar-2013