PL/SQL提示“ORA-01722:无效数字,将无效数字查找出来

本文介绍了一个PL/SQL函数isnumeric,用于判断输入字符串是否为有效数字。该函数通过尝试将字符串转换为数字来实现这一目标。若转换成功,则返回1;若失败则返回0。文章还提供了一个示例,展示如何使用该函数筛选无效数字。

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

 创建一个FUNCTION
CREATE OR REPLACE FUNCTION isnumeric(str IN VARCHAR2)
    RETURN NUMBER
IS
    v_str FLOAT;
BEGIN
    IF str IS NULL
    THEN
       RETURN 0;
    ELSE
       BEGIN
          SELECT TO_NUMBER (str)
            INTO v_str
            FROM DUAL;
       EXCEPTION
          WHEN INVALID_NUMBER
          THEN
             RETURN 0;
       END;
       RETURN 1;
    END IF;
END isnumeric;
根据FUNCTION查找无效数字,并修改。
select * from table_name where isnumeric(column_name) = 0

转载于:https://my.oschina.net/monkeybiao/blog/1635181

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值