奇怪的函数+like问题
CREATE OR REPLACE
type obj_wwdf as object(rq varchar2(8),df number);
CREATE OR REPLACE
type tab_wwdf as table of obj_wwdf;
CREATE OR REPLACE function FUN_WWDF(rq varchar2)
return tab_wwdf
as
l_tab_emp tab_wwdf := tab_wwdf();
begin
WITH T AS(...... 里面有 like rq||'%' 这样的条件)
select obj_wwdf(myrq.s_date,mark) bulk collect into l_tab_emp
from t;
return l_tab_emp;
end;
函数创建能成功,没报错
当执行以下sql时报错
select * FROM TABLE(CAST(FUN_WWDF('201208') AS TAB_WWDF))
ORA-00907: 缺失右括号
ORA-06512: 在 "CYWW2.FUN_WWDF", line 6
但当我 将条件中 rq||'%' 直接写死 如 '201208%' 这样时 就能成功执行
这是什么情况啊,必须得改成substr的形式吗?