SQL> insert into test_purchase
  2  values ('Product Name 7',23,'05-DEC-2001');
values ('Product Name 7',23,'05-DEC-2001')
                            *
ERROR at line 2:
ORA-01843: not a valid month
怎么回事呢

解决方案 »

  1.   

    not a valid month 
    看提示啊!
    字段类型不是日期我猜test_purchase的第3个字段是日期型insert into test_purchase
    values ('Product Name 7',23,to_date('05-DEC-2001','dd-mon-yyyy'));
      

  2.   

    字符串 '05-DEC-2001' 向 date 作隐士转换时出现错误。
    可以用 to_date 作显式转换,也可以修改 session 参数 nls_date_format。
      

  3.   


    insert into test_purchase 
    values ('Product Name 7',23,to_date('05-DEC-2001','dd-mon-yyyy')); 
    要把那个月份也改成数字就可以了
    insert into test_purchase 
    values ('Product Name 7',23,to_date('05-07-2001','dd-mon-yyyy')); 
    这样就可以了 谢谢大哥的指教
      

  4.   

    修改 session 参数 nls_date_format
    这个怎么修改啊
      

  5.   

    alter session set nls_date_format='日期格式';
      

  6.   

    ALTER SESSION SET NLS_DATE_LANGUAGE = ‘你要的格式’(比如YYYYMMDD)
      

  7.   

    ALTER SESSION SET NLS_DATE_format = ‘你要的格式’(比如YYYYMMDD)