Work/ORACLE

is_number, is_date

Elick 2011. 4. 27. 16:35
오라클 사용시 가끔 사용할 일이 있는 type check 용 함수...
기본 제공을 안한다니 안타깝다..
기본제공 함수 누구 아는 사람 없나..ㅠㅠ

-----------
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; 
-----------