oracle自定义判断是否数字函数isNumber()
右击function选择新增
如果是数字返回本身,如果不是数字返回0:
create or replace function isNumber(p in varchar2) return number is
Result number;
begin
result := to_number(p);
return result;
exception
when VALUE_ERROR then return 0;
end isNumber;
不用定义functino的一种方法:
当a.start_range为字符返回'0',否则返回他本身,再to_number()一下得到所有结果都是数字
select to_number(nvl2(translate(a.start_range, '\1234567890', '\'), '0', a.start_range)) from METER_BATCH_INFO a;
弊端:对具有小数点的数字类型无效