select * from a where a.in_date='22-Feb-2009'
用PL/SQL执行,报错:invalid month
但我看到别人的很多语句都是这样写的,怎样解决?

解决方案 »

  1.   

    in_date  是什么類型的?    如果是date類型的  用下 to_date('22-Feb-2009' ,‘yyyy-MM-dd’)
      

  2.   

    select * from a where a.in_date='22-Feb-2009' 
    改为select * from a where a.in_date=to_date('22-2-2009','dd-mm-yyyy') 
      

  3.   

    select * from v$nls_parameters; 
    看下日期 格式
    alter session set NLS_DATE_LANGUAGE='AMERICAN' 
    再试下
      

  4.   

    要改SQLPLUS的日志格式,并修改其语言ALTER SESSION SET NLS_LANGUAGE=AMERICAN;
    ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY';select * from a where a.in_date='22-Feb-2009';