zoukankan      html  css  js  c++  java
  • oracle 判断是不是数值/数字

    1. 利用 to_number
    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;


    2. 利用 regexp_like
    CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
        RETURN NUMBER
    IS
    BEGIN
        IF str IS NULL
        THEN
           RETURN 0;
        ELSE
           IF regexp_like (str, '^(-{0,1}+{0,1})[0-9]+(.{0,1}[0-9]+)$')
           THEN
              RETURN 1;
           ELSE
              RETURN 0;
           END IF;
        END IF;
    END isnumeric;


    3. 利用 TRANSLATE
    CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
        RETURN NUMBER
    IS
        v_str VARCHAR2 (1000);
    BEGIN
        IF str IS NULL
        THEN
           RETURN 0;
        ELSE
           v_str := TRANSLATE (str, '.0123456789', '.');

           IF v_str = '.' OR v_str = '+.' OR v_str = '-.' OR v_str IS NULL
           THEN
              RETURN 1;
           ELSE
              RETURN 0;
           END IF;
        END IF;
    END isnumeric;

  • 相关阅读:
    jekins构建自动化项目的步骤
    CRT 和mysql 中文乱码解决方式
    Jenkins的配置(rpm red hat方式)
    MapReduce job.setNumReduceTasks(0)思考
    浏览器angent分析工具
    npm中的 --save-dev
    computed与methods的异同
    JS函数种类详解
    Vue.js和Nodejs的关系
    AJAX复习笔记
  • 原文地址:https://www.cnblogs.com/emanlee/p/3643780.html
Copyright © 2011-2022 走看看