CREATE OR REPLACE FUNCTION f_check_int (
p_str VARCHAR2
)
RETURN VARCHAR2 ------- Y / N
IS
lv_data NUMBER;
BEGIN
lv_data := TO_NUMBER(p_str);
IF lv_data>0 AND MOD(lv_data,1)=0 THEN
RETURN 'Y';
ELSE
RETURN 'N';
END IF;
EXCEPTION
WHEN VALUE_ERROR THEN
RETURN 'N';
END;
/
Function created.
Elapsed: 00:00:00.06
jsu@JSU> SELECT f_check_int ('123') FROM DUAL;
F_CHECK_INT('123')
----------------------------------------------------------------------
Y
Elapsed: 00:00:00.14
jsu@JSU> SELECT f_check_int ('12A3') FROM DUAL;
F_CHECK_INT('12A3')
----------------------------------------------------------------------
N
Elapsed: 00:00:00.03
jsu@JSU> SELECT f_check_int ('123.2') FROM DUAL;
F_CHECK_INT('123.2')
----------------------------------------------------------------------
N
Elapsed: 00:00:00.01
jsu@JSU> SELECT f_check_int ('-123') FROM DUAL;
F_CHECK_INT('-123')
----------------------------------------------------------------------
N
如何判断一个值 是否为正整数
最新推荐文章于 2023-07-03 09:10:53 发布