Sql ORA-01843:不是有效的月份,ORA-00907:缺少右括号 ORA-00907:缺少右括号
语法错误可能在这里:Sql ORA-01843:不是有效的月份,ORA-00907:缺少右括号 ORA-00907:缺少右括号,sql,oracle,Sql,Oracle,语法错误可能在这里: 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 VARCHA
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
这是什么意思?日期就是日期。它由一天、一个月和一年组成。那么,'MM-DD-YY'
的作用是什么呢
这样做:
HIRINGDATE DATE('MM-DD-YY')
ORA-01843:不是有效月份
'01-05-95'
是一个字符串。DBMS尝试对此进行解释,并将其转换为日期,日期可能有效,也可能无效,具体取决于您使用的区域设置。请明确命名格式:至日期('01-05-95','mm dd yy')
,或者最好使用ANSI日期文字:
HIRINGDATE DATE
ORA-00907:缺少右括号
语法错误可能在这里:
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
这是什么意思?日期就是日期。它由一天、一个月和一年组成。那么,'MM-DD-YY'
的作用是什么呢
这样做:
HIRINGDATE DATE('MM-DD-YY')
ORA-01843:不是有效月份
'01-05-95'
是一个字符串。DBMS尝试对此进行解释,并将其转换为日期,日期可能有效,也可能无效,具体取决于您使用的区域设置。请明确命名格式:至日期('01-05-95','mm dd yy')
,或者最好使用ANSI日期文字:
HIRINGDATE DATE
什么是日期('MM-DD-YY')?在旁边注:从错误代码中,我们可以看出这是Oracle。我已经为你添加了标签。在Oracle中,使用
VARCHAR2
,而不是VARCHAR
。一般来说:避免使用两位数的年份。95应该是1995年还是2095年?为了可读性和避免出错,请使用四位数的年份。使用ANSI日期文字(date'1995-01-01'
),而不是字符串文字。什么是date('MM-DD-YY')
?,请注意:从错误代码中,我们可以看到这是Oracle。我已经为你添加了标签。在Oracle中,使用VARCHAR2
,而不是VARCHAR
。一般来说:避免使用两位数的年份。95应该是1995年还是2095年?为了可读性和避免出错,请使用四位数的年份。使用ANSI日期文字(date'1995-01-01'
),而不是字符串文字。