본문 바로가기
데이터베이스/Postgresql

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

by cbwstar 2022. 6. 24.
728x90
반응형

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')

728x90
반응형

댓글



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading