报错如下
 select error :ora-01858:在要求输入数字处找到非数字字符
存储过程如下
CREATE OR REPLACE PROCEDURE        "UP_TRANSFER_REPORT" (as_Yjbatchno in  varchar2,     
 as_LibId  in  varchar2,     
 adt_Start in date,     
 adt_End in date, 
 rc1 IN OUT pack_.mycur 
 )     
AS     
 
as_LibId_2 varchar2(1); 
as_Yjbatchno2 varchar2(12); 
ls_Sql varchar2(4000); 
adt_End2 date; 
Begin   
 
as_LibId_2 := null; 
 
If as_LibId = '0' then     
   as_LibId_2 := 'A'; 
else 
   as_LibId_2 := as_LibId; 
end if;     
as_Yjbatchno2 := as_Yjbatchno ; 
adt_End2 :=adt_End + 1; 
ls_Sql := ' SELECT manager.main_bibli.rec_ctrl_id, ';      
ls_sql:=ls_sql|| ' substr(manager.main_bibli.class_no_1,1,3), ';    
ls_sql:=ls_sql|| ' manager.main_bibli.class_no_1, ';    
ls_sql:=ls_sql|| ' ct.access_no, ';    
ls_sql:=ls_sql|| ' ct.price, ';   
ls_sql:=ls_sql|| ' ct.price_flag, ';      
ls_sql:=ls_sql|| ' manager.main_bibli.title,  ';    
ls_sql:=ls_sql|| ' manager.main_bibli.isn, ';       
ls_sql:=ls_sql|| ' manager.main_bibli.authors,';      
ls_sql:=ls_sql|| ' manager.main_bibli.publisher, ';     
ls_sql:=ls_sql|| ' manager.main_bibli.pubdate_char ';     
ls_sql:=ls_sql|| ' FROM manager.ct_2_'||as_LibId_2||' ct, ';       
ls_sql:=ls_sql|| ' manager.main_bibli ';    
ls_sql:=ls_sql|| ' WHERE ( manager.main_bibli.rec_ctrl_id = ct.rec_ctrl_id ) and ';      
ls_sql:=ls_sql|| ' ( ( ct.yj_batchno like  '''||as_Yjbatchno2||'%'') AND ';    
ls_sql:=ls_sql|| ' ( ct.circul_status >= ''03'' ) AND ';     
--ls_sql:=ls_sql|| ' (ct.yj_date between '" + convert(char(30), @adt_Start) + "' AND '" + Convert(char(30), @adt_End) + "'  ) ) "  
--转换时间 
ls_sql:=ls_sql|| ' (ct.yj_date between '''||adt_Start||''' AND '''||adt_End2||'''  ) ) ';   
OPEN rc1 FOR ls_sql; 
    
  END up_transfer_report;
在pl_sql中执行没有任何报错
但是在pb数据窗口中执行就出现
 select error :ora-01858:在要求输入数字处找到非数字字符
不知何故 
另外有一个10i的库环境 同样的程序 同样的存储 则没有报错 查了半天 没有结果
请教各位大哥