1、字符串为空则返回null
2、字符串为空串则返回null
3、字符串为数字则返回Y
4、字符串为非数字则返回N
CREATE OR REPLACE
FUNCTION IS_NUMBER (STRING VARCHAR2)
RETURN VARCHAR2
IS
NUMING NUMBER;
BEGIN
IF STRING is null then
return null;
END IF;
NUMING := to_number(STRING);
RETURN 'Y';
EXCEPTION WHEN OTHERS THEN
RETURN 'N';
END IS_NUMBER;
测试
select IS_NUMBER(null) from dual;
NULL
select IS_NUMBER('') from dual;
NULL
--注意这个包含一个空格
select IS_NUMBER(' ') from dual;
N
select IS_NUMBER('11') from dual;
Y
select IS_NUMBER('aa') from dual;
N