sql - ORA-01843: 无效的月份和 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
解决方案
ORA-00907: 缺少右括号
语法错误可能在这里:
HIRINGDATE DATE('MM-DD-YY')
这是什么意思?日期就是日期。它由一天、一个月和一年组成。那是'MM-DD-YY'
为了什么?
做这个:
HIRINGDATE DATE
ORA-01843: 无效的月份
'01-05-95'
是一个字符串。DBMS 尝试对此进行解释并将其转换为日期,这取决于您使用的区域设置可能会或可能不会起作用。要么明确地命名格式:to_date('01-05-95', 'mm-dd-yy')
,要么更好地使用 ANSI 日期文字:
date '1995-01-05'
推荐阅读
- python-3.x - 从 protoRPC 迁移(Python 2.7 到 Python 3)Google App 引擎
- flutter - 即使文档明确存在且可访问,arrayContains 的 Flutter Firestore 查询也不返回任何内容
- javascript - MongoDB 中的日期不考虑时区
- java - 如何从 Hibernate 加载惰性集合?
- python-3.x - 抽象类多重继承的正确设计模式
- java - 确定从最高平台到第 i 个平台所需的最少跳跃次数
- css - 如何实现自定义占位符仅对Angular中的必填字段有效
- java - Logstash - Java 应用程序日志日期时间
- django - 在 Django 中,在 __str__ 方法中使用外键属性时优化性能
- spring - MockRestServiceServer 可以等待给定的时间来监视 .expect(ExpectedCount.never())