출처 :  http://scidb.tistory.com/90



1. 체크 함수 생성

CREATE OR REPLACE FUNCTION is_number(v_str_number IN varchar2)
RETURN NUMBER
IS  /* 데이터가 number 형인지 검사하는 함수임. 1 이 나오면 NUMBER 형임 */
     V_NUM NUMBER;
BEGIN
  V_NUM := TO_NUMBER(v_str_number);
  RETURN 1;
EXCEPTION
  WHEN OTHERS THEN RETURN 0    ;
END;

 

CREATE OR REPLACE FUNCTION is_date(v_str_date IN varchar2, V_FORMAT IN VARCHAR2 DEFAULT 'YYYYMMDD')
RETURN NUMBER

IS   /* 데이터가 DATE 형인지 검사하는 함수임. 1 이 나오면 DATE 형임 */
     V_DATE DATE;
BEGIN
  V_DATE := TO_DATE(v_str_date, V_FORMAT);
  RETURN 1;   
EXCEPTION
  WHEN OTHERS THEN RETURN 0    ;
END; 


 

 

2. 함수 사용

select  is_number('abcd'), is_number('1234'),
        is_date('20090230'), is_date('20090228')
from dual;



3. 결과

IS_NUMBER('ABCD') IS_NUMBER('1234') IS_DATE('20090230') IS_DATE('20090228')
----------------- ----------------- ------------------- -------------------
                0                 1                   0                   1

1 row selected.











 

+ Recent posts