ORA-01843: недействительный месяц и ORA-00907: отсутствует правая скобка - PullRequest
0 голосов
/ 05 февраля 2019
create table programer(IDNO NUMBER, PROJECTID VARCHAR(5),LASTNAME VARCHAR(30),FIRSTNAME VARCHAR(30),HIRINGDATE DATE('MM-DD-YY') ,LANGUAGES VARCHAR(15),TASKNO INT,Privileges VARCHAR(25));
create table programer(IDNO NUMBER, PROJECTID VARCHAR(5),LASTNAME VARCHAR(30),FIRSTNAME VARCHAR(30),HIRINGDATE DATE('MM-DD-YY') ,LANGUAGES VARCHAR(15),TASKNO INT,Privileges VARCHAR(25))
Error report -
ORA-00907: missing right parenthesis
00907. 00000 -  "missing right parenthesis"
*Cause:    
INSERT INTO PROGRAMER VALUES(201,'NPR','GUPTA','SAURAV','01-01-95','VB',52,'SECRET');
INSERT INTO PROGRAMER VALUES(201,'NPR','GUPTA','SAURAV','01-05-95','VB',52,'SECRET')
Error report -
ORA-01843: not a valid month

1 Ответ

0 голосов
/ 05 февраля 2019

ORA-00907: отсутствует правая скобка

Синтаксическая ошибка, вероятно, здесь:

HIRINGDATE DATE('MM-DD-YY')

Что это должно означать?Дата это дата.Он состоит из дня, месяца и года.Так для чего же 'MM-DD-YY'?

Сделать так:

HIRINGDATE DATE

ORA-01843: недопустимый месяц

'01-05-95' - строка.СУБД пытается интерпретировать это и преобразовать в дату, которая может работать или не работать в зависимости от региональных настроек, которые вы используете.Либо назовите формат явно: to_date('01-05-95', 'mm-dd-yy'), либо гораздо лучше используйте литералы даты ANSI:

date '1995-01-05'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...