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
答案 0 :(得分:2)
语法错误可能在这里:
HIRINGDATE DATE('MM-DD-YY')
这应该是什么意思?日期是一个日期。它由一天,一个月和一年组成。那么'MM-DD-YY'
的作用是什么?
进行以下操作:
HIRINGDATE DATE
'01-05-95'
是一个字符串。 DBMS会尝试对此进行解释并将其转换为日期,根据您使用的区域设置,该日期可能会或可能不会起作用。明确命名格式:to_date('01-05-95', 'mm-dd-yy')
,或者更好地使用ANSI日期文字:
date '1995-01-05'