PL/SQL 函数创建 示例
截取由特殊字符拼接组成的数字字符串,返回第一个特殊字符前的数字
用于按数字进行排序的函数
CREATE OR REPLACE FUNCTION GET_NUM_BY_STR(BXH IN VARCHAR2) RETURN NUMBER IS
RES_NUM NUMBER :=0;
BEGIN
IF(INSTR(BXH,’-‘)>0)
THEN RES_NUM := TO_NUMBER(SUBSTR(BXH,1,INSTR(BXH,’-‘)-1));
ELSIF (INSTR(BXH,’,’)>0)
THEN RES_NUM := TO_NUMBER(SUBSTR(BXH,1,INSTR(BXH,’,’)-1));
ELSE
RES_NUM := TO_NUMBER(BXH);
END IF;
RETURN(RES_NUM);
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20006,DBMS_UTILITY.format_error_backtrace);
END GET_NUM_BY_STR;