解决方案 »

  1.   

    把to_char也格式化一下,系统默认的日期格式与你数据库中存的不同。使用下面的方法:
    to_char(to_date('20120712','yyyymmdd')-10,'yyyymmdd')
      

  2.   

    你这个因为to_date()后又用了to_char()进行了隐式转换格式不对出现的错误。SELECT to_char(to_date('20120712','yyyyMMdd')-10) FROM dual;结果为:
    02-7月 -12
    SELECT least('20120712','02-7月 -12') FROM dual;在to_char的时候显式转换下
    to_char(to_date('20120712','yyyyMMdd')-10,'yyyymmdd')
      

  3.   

    select * from Table1 t where t.oper_date<=to_char(to_date('20120712','yyyyMMdd'),'yyyymmdd')