WHERE mrr.time < add_months(to_date(to_char('2009-08-05','yyyy') || '-' || to_char('2009-08-05','mm') || '-01','yyyy-mm-dd'),1)问一下,这样写报错喔!!应该怎么写呢???

解决方案 »

  1.   

    to_char('2009-08-05','yyyy')  这句就不对了
      

  2.   

    select
    add_months(to_date(to_char(to_date('2009-08-05','yyyy-mm-dd'),'yyyy') || '-' || to_char(to_date('2009-08-05','yyyy-mm-dd'),'mm') || '-01','yyyy-mm-dd'),1) 
    from dual
      

  3.   

    WHERE mrr.time < add_months(to_date(to_char('2009-08-05','yyyy') || '-' || to_char('2009-08-05','mm') || '-01','yyyy-mm-dd'),1)WHERE mrr.time < add_months(to_date(to_char(to_date('2009-08-05','YYYY-MM-DD'),'yyyy')
    我看你应该是这个意思吧, 
      

  4.   

    用程序得出这个月的第一天,然后再生成sql
      

  5.   

    WHERE mrr.time < add_months(to_date(to_char('2009-08-05','yyyy') || '-' || to_char('2009-08-05','mm') || '-01','yyyy-mm-dd'),1)
    WHERE mrr.time < add_months(to_date(to_char(to_date('2009-08-05','YYYY-MM-DD'),'yyyy') || '-' || to_char(to_date('2009-08-05','YYYY-MM-DD'),'MM') || '-01','YYYY-MM-DD'),1)
      

  6.   

    看你语句的意思,应该这样也可以mrr.time < last_day(to_date('2009-08-05','YYYY-MM-DD'))+1