函数
create or replace function ite(
p_expression Boolean,
p_true varchar2,
p_false varchar2)
return varchar2 
as
begin
if p_expression then
return p_true;
end if;
return p_false;
end;调用
select ite(0,'T','F') from dual 
 
出错提示:参数个数或类型错误。哪位大哥自己试下。

解决方案 »

  1.   

    p_expression Boolean, 
    你传进去是数值型啊
      

  2.   

    你的参数不对  你改成
    create or replace function ite( 
    p_expression integer, 
    p_true varchar2, 
    p_false varchar2) 
    return varchar2  
    as 
    begin 
    if p_expression=1 then 
    return p_true; 
    end if; 
    return p_false; 
    end; 
      

  3.   

    我的 p_expression  就是布尔型
      

  4.   

    那怎么传进去布尔型的 ?
    select ite(true,'T','F')from dual;这样 提示:“true”是无效的标识符。
      

  5.   

    这个语句你在哪里用?select ite(字段x,'T','F')from dual字段x为boolean类型