没有
create or replace function isNumber(p_in varchar2) return boolean as
    i number;
begin
    i:=to_number(p_in);
    return true;
exception   
    when others then 
       return false;
end ;

解决方案 »

  1.   

    生成函数后调用怎么报错阿:
    select isNumber(abc) from def;
    报错:
    ERROR 位于第 1 行:
    ORA-06552: PL/SQL: Statement ignored
    ORA-06553: PLS-382: 表达式类型错误
      

  2.   

    create or replace function isNumber(p_in varchar2) return varchar2 as
        i number;
    begin
        i:=to_number(p_in);
        return 'TRUE';
    exception   
        when others then 
           return 'FALSE';
    end ;
      

  3.   

    没有的,可以用to_number()进行测试
      

  4.   

    '123',to_number('123')可以成功,但不表示就是number.
      

  5.   

    用网友spland(spland) 的办法.