CREATE FUNCTION RIMSTAX.FDATECHK (IN_DATE VARCHAR(8))
RETURNS CHAR(1)
LANGUAGE SQL
SPECIFIC F_Date_Chk
BEGIN ATOMIC
DECLARE v_Result CHAR(1);
DECLARE v_Value CHAR(10);
SET v_Value = SUBSTR(IN_DATE,1,4)||'-'||SUBSTR(IN_DATE,5,2)||'-'||SUBSTR(IN_DATE,7,2);
SELECT DATE(v_Value)
FROM SYSIBM.SYSDUMMY1;
IF SQLSTATE = 22007 THEN
SET v_Result = 'F';
ELSE
SET v_Result = 'T';
END IF;
RETURN v_Result;
END
위 함수에서 12번째 라인인 IF SQLSTATE = 22007 THEN 이 부분이 컴파일할때 에러나거든요...
목적은 8자리 문자를 받아서 날짜형식이 맞는지 볼려는 함수를 만들려고 합니다...
DATE(v_Value) 시 날짜형식에 맞지않으면 에러가 나는데...이걸 어떻게 처리해야할지...
아시는분은 답변좀 부탁드립나다.....항상 즐거운 하루되세요... |