无法将日期数据插入到Oracle表中

时间:2019-07-19 10:55:43

标签: oracle

无法将日期数据插入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:无效月份

3 个答案:

答案 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

希望它能排序!

谢谢!