Pergunta

Sou novo no Oracle (eu tenho usado o MySQL principalmente até agora), então isso pode ser uma pergunta idiota. Mas eu criei esta tabela (os nomes não são inglês, mas ignore isso, isso não é importante):

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

Então eu tentei usar esta consulta de inserção:

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

E eu recebo um erro:

ORA-01843: not a valid month

O formato de data que estou usando é dd-mm-yyyy. Eu também tentei dd.mm.yyyy, dd/mm/yyyy, também tentei alternar o mês e o dia como este - mm -dd -yyyy, mm/dd/yyyy - e ainda o mesmo erro.

O que fazer?

Foi útil?

Solução

Substituir:

,'20-12-2004'

...com:

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

Referência: ATÉ A PRESENTE DATA

Outras dicas

O formato da data do Oracle é DD-Mon-yy.

Use o formato de data de 20-april-2004 ao invés de 20-4-2004.

Usar Dd-mmm-yyyy formato durante a inserção da data no banco de dados.

Por exemplo, 15-Mar-2013.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top