[PostGreSql] 문자인지 숫자인지 체크하는 함수


[PostGreSql] 문자인지 숫자인지 체크하는 함수

postgresql에는 문자인지 숫자인지 체크하는 함수가 없다. 인터넷 검색하다가 못 찾아서 그냥 함수 하나 만들었다. CREATE OR REPLACE FUNCTION is_numeric ( p_string varchar ) RETURNS numeric AS $$ DECLARE V_NEW_NUM BOOLEAN; BEGIN SELECT p_string ~ E'^[-+]?\\d*\\.?\\d+(?:[eE][-+]?\\d+)?$' into V_NEW_NUM; IF (V_NEW_NUM) THEN RETURN 1; ELSE RETURN 0; END IF; END; $$ LANGUAGE 'plpgsql' /* 사용방법 함수 호출해서 1이면 숫자 0이면 문자다 */ select is_numeric('-3.2')


원문링크 : [PostGreSql] 문자인지 숫자인지 체크하는 함수