帮忙把sql datepart函数语句 改为 oracle的语句,语句: 
---------------------- 
  v_old_month_lastdayofweek = datepart(weekday,cast(p1+(cast(fn_getdays(p1) as varchar)) as datetime));   此语句是想取一个月中的某一天(星期几) ,参数p1是日期型字符串 '200401' varchar2类型.
 
  转化为oracle 数据库存储过程中的语法:  v_old_month_lastdayofweek := to_char(to_date(p1||cast(fn_getdays(p1) as varchar2),'yyyymm'),'datetime');
  
 但是程序调用出错: ora-01830:日期格式图片在转换整个字符串之前结束
                    ora-06512:"pr_monthconvert",line 24  不知道是否正确,请教?!

解决方案 »

  1.   


    SQL> SELECT TO_CHAR(SYSDATE,'D')-1 星期,TO_CHAR(SYSDATE,'DD') 某天 FROM DUAL;      星期 某
    ---------- --
             4 12
      

  2.   


      你好,这个查询语句是对的,想要的是上面写的那种格式的语句,因为是在oracle的存储过程里,使用到参数了的,只需按那种格式麻烦你帮忙改下,谢谢!
      

  3.   

    SELECT TO_CHAR(TO_DATE('200401','YYYYMM'),'D') FROM DUAL;