首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Insert语句出错,该怎么解决

2011-12-27 
Insert语句出错insertintotest_personvalues( CA , Charlene , Atlas , 01-FEB-2002 )ERROR位于第2行:ORA

Insert语句出错
insert   into   test_person   values
( 'CA ', 'Charlene ', 'Atlas ', '01-FEB-2002 ');
ERROR   位于第   2   行:
ORA-01843:   无效的月份

怎么回事?
最后的日期字段的数据类型为date

[解决办法]
select to_date( '2007/02/02 ', 'yyyy/mm/dd ') from dual;
结果是:2007-02-02

你可以把2007/02/02换成其他的形式,能转化就可以写进去
比如换成:2007-02-02,20070202,02-02-2007
需要注意的是后面的yyyy/mm/dd要对应前面的 /可以换成-
[解决办法]
lz的写法,插入的是英文日期,那么你的ORACLE字符集的类型必须是NLS_DATE_LANGUAGE = American ,这时可以插入:
insert into t values ( 'CA ', 'Charlene ', 'Atlas ',to_date( '01-FEB-2002 ', 'dd-mon-yyyy '));
一般我们插入日期用insert into t values(to_date( '2002-02-01 ', 'yyyy-mm-dd '))方便。

热点排行