|
原帖由 newkid 于 2011-3-3 23:23 发表
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
Elapsed: 00:00:00.01
多谢 ... |
|