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
报错日期格式图片在转换整个输入字符串之前结束
可能To_Date(Thismonth || '01', 'YYYY-MM-DD') 这里日期格式匹配可能有误。。。
电脑没有安装Oracle,没法验证,你可以加个异常捕获试试。
Thismonth 必须是YYYY-MM这种格式的