无法将日期数据插入oracle表。请找到以下查询和错误
查询:
INSERT INTO TEST.SUPPLIER
(SUPPLIER_ID, SUPPLIER_NAME, CONTACT_NAME, DOB)
VALUES(6, 'rr', 'ss','2019-06-19');
错误:
SQL错误[1843] [22008]:ORA-01843:无效月份 VALUES(6,'rr','ss','2019-06-19'),错误消息= ORA-01843:无效月份 ORA-01843:无效月份
答案 0 :(得分:4)
请尝试以下查询:
INSERT INTO TEST.SUPPLIER (SUPPLIER_ID, SUPPLIER_NAME, CONTACT_NAME, DOB) VALUES(6, 'rr', 'ss',DATE '2019-06-19');**
DATE
关键字将以下字符串解释为日期。
答案 1 :(得分:0)
您需要将日期字符串隐藏为DATE
类型。插入值之前
INSERT INTO TEST.SUPPLIER (SUPPLIER_ID, SUPPLIER_NAME, CONTACT_NAME, DOB)
VALUES(6, 'rr', 'ss',TO_DATE('2003/05/03', 'yyyy/mm/dd'))
答案 2 :(得分:0)
〜我确定您在定义表格时会以DOB作为日期。 〜您可以直接以DD / MON / YYYY格式输入日期,并将MON作为月份的前三个字母。 〜要将日期格式化为YYYY-MM-DD格式,可以在字符串前使用'DATE',看起来像DATE'2019-07-20'
这里是所有要点的快速浏览
创建表供应商(SUPPLIER_ID号,SUPPLIER_NAME varchar2(20),CONTACT_NAME varchar2(20),DOB日期); 插入供应商值(12,'supplier1','contact1', '18 / JAN / 2019'); 插入供应商值(13,'supplier2','contact2',日期'2019-07-20 '); 从供应商处选择*;
SUPPLIER_ID SUPPLIER_NAME CONTACT_NAME DOB
12 supplier1 contact1 18-JAN-19
13 supplier2 contact2 20-JUL-19
希望它能排序!
谢谢!