oracle判断字符串是否为数字

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

 

你可能感兴趣的:(Oracle)