日期:2014-05-17  浏览次数:20925 次

Oracle 报无效数字,问避免方法
由于数据库开始的设计问题,把一列代表数字的列变成了varchar2...里面有可能存在字符类型,然后我用

Select x/100 form table1 时报无效数字的错误,请问如果避免??

我的意思是,如果x本来就可以强制转换成数字的就正常计算,如果不能,就默认为结果是0....类似nvl

------解决方案--------------------
自己写一个函数吧。呵呵

如:
create or replace function isNumber(p in varchar2)
return number
is
test number;
begin
test := to_number(p);
return test
exception
when VALUE_ERROR then return 0;
end;