oracle的存储过程调试问题
 CREATE OR REPLACE Procedure Reserve_Drawonedutysum(Thismonth Varchar2) Is
  Lastmonth Varchar2(6);
  p_startdate VARCHAR2(10);
  p_enddate VARCHAR2(10);
Begin
  Lastmonth := To_Char(Add_Months(To_Date(Thismonth || '01', 'YYYY-MM-DD'), -1), 'YYYYMM');
  SELECT TO_CHAR(STARTDATE, 'yyyy-mm-dd'), TO_CHAR(ENDDATE, 'yyyy-mm-dd')
    INTO p_startdate,p_enddate
    FROM RESACCDATE
   WHERE DRAWMONTH = Thismonth;

我调试的时候会报错
thismonth String 2018-05-02
报错日期格式图片在转换整个输入字符串之前结束

2个回答

可能To_Date(Thismonth || '01', 'YYYY-MM-DD') 这里日期格式匹配可能有误。。。
电脑没有安装Oracle,没法验证,你可以加个异常捕获试试。

Thismonth 必须是YYYY-MM这种格式的

weixin_40417658
Sirius02 说错了,不要求是这个格式,但是最多包含6个数字,连接上01可以转化为YYYY-MM-DD这种形式的
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问