oracle查看用户账号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,

                      &nboracle账号sp; TRIM(LPAD(' ', I + 1, '9')) || '.' || V_XIAOSHU);  –利用类型转换异常判断是否合法

  RETURN 1;

EXCEPTION

  WHEN OTHERS THEN

    RETURN 0;

END IS_NUMBER;

 

 

 

 

作者 迈客封

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。