我试图插入数据从Netezza到Oracle.Here是我的插入作为below.But,他们不工作,并抛给我上面的错误。
INSERT INTO AM_CTL_DDS_LOAD values('ALB',1002,'2012/02/12');
INSERT INTO AM_CTL_DDS_LOAD values('ALB',1002,'2012/02/09');
INSERT INTO AM_CTL_DDS_LOAD values('ALB',1002,'2012/02/21');
INSERT INTO AM_CTL_DDS_LOAD values('ALB',1002,'2012/02/23');我的表结构如下。
CREATE TABLE AM_CTL_DDS_LOAD
(
MAS_DIV_CD VARCHAR(5),
LD_SEQ_NBR INTEGER NOT NULL,
TUNING_DT DATE NOT NULL
);发布于 2012-05-16 04:17:18
ORA-01861: literal does not match format string错误意味着AM_CTL_DDS_LOAD表的第三列被定义为DATE,而不是VARCHAR2,并且字符串到日期的隐式转换失败,因为会话的NLS_DATE_FORMAT不是'YYYY/MM/DD‘。解决此问题的最佳方法是显式插入DATE而不是VARCHAR2,方法是使用适当的格式掩码显式调用TO_DATE。
INSERT INTO AM_CTL_DDS_LOAD values('ALB',1002,to_date('2012/02/12', 'YYYY/MM/DD') );
INSERT INTO AM_CTL_DDS_LOAD values('ALB',1002,to_date('2012/02/09', 'YYYY/MM/DD') );
INSERT INTO AM_CTL_DDS_LOAD values('ALB',1002,to_date('2012/02/21', 'YYYY/MM/DD') );
INSERT INTO AM_CTL_DDS_LOAD values('ALB',1002,to_date('2012/02/23', 'YYYY/MM/DD') );https://stackoverflow.com/questions/10608140
复制相似问题