select to_char(to_date('31','DD'),'DD')  from dual;

解决方案 »

  1.   

    因为9月份(当前月份)没有31日,所以不对
    select to_char(to_date(30,'DD'),'DD')  from dual;这样就对了
      

  2.   

    TO Michaelyfj:
       select  to_char(to_date(31,'DD'),'DD')    from  dual;是在SQL窗口中执行所以系统以当前月份9来回复是否正确,然后判定是错误的。
    那么我在一个过程当中用到:
        record:=to_char(to_date(30,'DD'),'DD'); 并没有”from dual“来取当前月份,
    难道系统也默认为当前月份吗?