views:

355

answers:

1

I'm new to Oracle (I've been using MySQL mainly until now) so this might be a dumb question. But I have created this table (names are not english but ignore that, that is not important):

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));

Then I tried using this INSERT query:

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

And I get an error:

ORA-01843: not a valid month

The date format I am using is DD-MM-YYYY. I also tried DD.MM.YYYY, DD/MM/YYYY, I also tried switching month and day like this - MM-DD-YYYY, MM/DD/YYYY - and still the same error.

What to do?

+5  A: 

Replace:

,'20-12-2004'

...with:

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

Reference: TO_DATE

OMG Ponies
+1 ... should never depend on default NLS settings
dpbradley