bill_date = to_char(add_months(to_date(p.sum_period_date||'01','yyyymmdd'),-1),'yyyymm')now :
bill_date=200206 

解决方案 »

  1.   

    select to_char(add_months(to_date(to_char(sysdate,'yyyymm'),'yyyymm'),-1),'yyyymm') from dual====>
    TO_CHA
    ------
    200206so:
    bill_date = to_char(add_months(to_date(p.sum_period_date,'yyyymm'),-1),'yyyymm')
    bill_date的值应该使bill_date=200206
      

  2.   

    SQL> select to_char(to_date(to_char(sysdate,'yyyymm'),'yyyymm'),'yyyymmdd') from dual;TO_CHAR(
    --------
    20020701
      

  3.   

    select to_char(add_months(to_date('200207','yyyymm'),-1),'yyyymm') 
    from dual;TO_CHA
    ------
    200206Other
    =======================
    p.sum_period_date内必须严格的YYYYMM格式,否则...Err
      

  4.   

    200206,
    add_months中的-1,意思是求指定月份的上个月