只允许允许录入 -、0-9、.等字符
CREATE OR REPLACE FUNCTION IS_NUMBER(IN_DATA IN VARCHAR2, –原始数据
I IN NUMBER, –整数位数最大允许值
J IN NUMBER –小数位数最大允许值 0-不能有小数位 ,-1 不校验小数长度
) RETURN INTEGER AS
V_NUMBER NUMBER;
V_XIAOSHU VARCHAR2(128);
–数据类型校验 返回1 :正确 返回0: 错误
BEGIN
IF (INSTR(IN_DATA, ',', 1, 1) <> 0) THEN
RETURN 0;
END IF;
IF J = -1 THEN
V_XIAOSHU := '9999999999999999999999999999';
ELSIF J = 0 THEN www.2cto.com
V_XIAOSHU := '0';
ELSE
V_XIAOSHU := TRIM(LPAD(' ', J + 1, '9'));
END IF;
V_NUMBER := TO_NUMBER(IN_DATA,
&nboracle账号sp; TRIM(LPAD(' ', I + 1, '9')) || '.' || V_XIAOSHU); –利用类型转换异常判断是否合法
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END IS_NUMBER;
作者 迈客封