oracle 如果判断一个Varchar字段是否可转换为number数字类型
Varchar字段存储有数字和字符多条记录, 再使用to_number时,遇到字符将出错,如何判断哪些可以转换为数字型的记录呢??

解决方案 »

  1.   

    写一个函数,可以简单的写成这样:
    create function f_demo(varchar2 strNum)
    return number is
    n number;
    begin
    n:=to_number(strNum);
     return 1;
    exception when others
     return 0;
    end;
    /
    select * from tb where f_demo(colNum)=1;
      

  2.   

    捕捉异常啦
    a number;
    begin
       a := to_number(记录) ;
       数字时的操作
    excepton 
       when others then
       不是数字的操作     
    end