存储过程 字符转数字出错,请高手指教
create or replace procedure MISAPP_GJCK_RJ(
WORKMON_IN_B IN NUMBER, ----起始日期
WORKMON_IN_E IN NUMBER, ----截止日期
hkd IN NUMBER, ----
eur IN NUMBER, ----
cad IN NUMBER ----
) is
v_day number;
begin
v_day := 'select to_date(WORKMON_IN_E,''yyyymmdd'')-to_date(WORKMON_IN_B,''yyyymmdd'')+1 from dual';
执行的时候,最后一行v_day:= 赋值这一行报错ORA=06502 PL/SQL:数字或值错误,字符转到数值的转换错误。
v_day 我设的是number型,赋值那个语句得到的是字符型吗?
如果我改成
v_day :=to_number( 'select to_date(WORKMON_IN_E,''yyyymmdd'')-to_date(WORKMON_IN_B,''yyyymmdd'')+1 from dual');
也一样报错ORA=06502 PL/SQL:数字或值错误,字符转到数值的转换错误。
请高手指教。
------解决方案--------------------
SQL code
select to_date(to_char(WORKMON_IN_E),'yyyymmdd')-to_date(to_char(WORKMON_IN_B),'yyyymmdd')+1 into v_day from dual;