oracle自定义判断是否数字函数isNumber()

本文介绍了在PL/SQL中创建或替换函数用于判断输入是否为数字的方法。通过示例展示了如何定义一个函数来检查参数是否可以转换为数字,若可以则返回该数字,否则返回0。此外,还提供了一种不使用正式函数的方式,利用SQL语句实现类似功能,但指出了其对小数点数字处理的局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

右击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;

弊端:对具有小数点的数字类型无效

 

转载于:https://www.cnblogs.com/zhouyeqin/p/6439118.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值