设为首页 加入收藏

TOP

Oracle数字类型校验的使用
2014-11-23 21:54:34 来源: 作者: 【 】 浏览:8
Tags:Oracle 数字 类型 校验 使用

只允许允许录入 -、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,
TRIM(LPAD(' ', I + 1, '9')) || '.' || V_XIAOSHU); --利用类型转换异常判断是否合法
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END IS_NUMBER;
作者 迈客封
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle数字函数的使用 下一篇你也被to_date()函数欺骗了吗

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: