mrp_hremp_birth中的月必须是两位
'yyyy-mm-dd' 改为'yyyy-MM-dd'试试

解决方案 »

  1.   

    去找一下有关日期字段的处理
    刚开始用这个oracle可能不是很熟悉。而且感觉怪怪的
    我也碰到了这些问题。
    郁闷
      

  2.   

    Oracle日期的插入 
    create table test(ID date);
    nls_language这个参数设定了显示或者插入数据时使用的语言,比如,设置为american,那么'3月'将显示为'march',
    在向数据库中插入数据时,不能输入'3月',否则会提示无效的月份.反之,如果设置为'simplified chinese',那么就只能输入'3月',输入'march'将得到错误.
    nls_date_format这个参数设置数据显示的格式.
    通过几个例子说明:
    SQL> alter session set nls_language='simplified chinese';
    SQL> alter session set nls_date_format='YYYY-MONTH-DD:HH24:MI:SS';
    会话已更改。
    SQL> select * from test;
    ID
    ---------------------
    2004-3月 -11:16:27:45
    2004-3月 -11:16:30:22
    SQL> alter session set nls_language='american';
    Session altered.
    SQL> select * from test;
    ID
    --------------------------
    2004-MARCH    -11:16:27:45
    2004-MARCH    -11:16:30:22
    SQL> insert into test(ID) values (to_date('2009,MARCH,11日','YYYY,MONTH,DD"日"'));
    1 row created.
    SQL> alter session set nls_language='simplified chinese';
    会话已更改。
    SQL> insert into test(ID) values (to_date('2009,MARCH,11日','YYYY,MONTH,DD"日"'));
    insert into test(ID) values (to_date('2009,MARCH,11日','YYYY,MONTH,DD"日"'))
                                         *
    ERROR 位于第 1 行:
    ORA-01843: 无效的月份SQL> insert into test(ID) values (to_date('2009,3月,11日','YYYY,MONTH,DD"日"'));
    已创建 1 行。
    SQL> insert into test(ID) values (to_date('2009,3月,11日','YYYY,MM,DD"日"'));
    insert into test(ID) values (to_date('2009,3月,11日','YYYY,MM,DD"日"'))
                                         *
    ERROR 位于第 1 行:
    ORA-01861: 文字与格式字符串不匹配
    SQL> insert into test(ID) values (to_date('2009,03,11日','YYYY,MM,DD"日"')); 
    已创建 1 行.
    SQL> alter session set nls_language='american';
    Session altered.
    SQL> insert into test(ID) values (to_date('2009,03,11日','YYYY,MM,DD"日"'));
    1 row created.
    MM代表01,02,...10,11,12.
    MONTH则和具体的语言相关.
    SQL> alter session set nls_language='simplified chinese';
    SQL> alter session set nls_date_format='YYYY-MONTH-DD"日":HH24:MI:SS';
    会话已更改。
    SQL> select * from test;
    ID
    -----------------------
    2004-3月 -11日:16:27:45
    2004-3月 -11日:16:30:22
    http://www.donews.net/chenyajun/archive/2004/03/17/7156.aspx
      

  3.   

    还是不行,数据库中有1999-7-21,有7/12/1999 多种形式,并且都是varchar2型的,我该怎么办?