Database/Oracle
ORACLE|윤년 여부를 반환하는 함수
어느가을빛
2010. 5. 26. 17:15
CREATE FUNCTION SF_GET_LEAPYEAR
(
iYEAR VARCHAR2, -- 년도
)
RETURN VARCHAR2 IS
RET_NAME BOOLEAN;
BEGIN
RET_NAME := '';
/*
- 윤년 구하는 방법 -
특정연도를 4로 나누었을때 나누어 떨어지면 그 해는 일단, 윤년.
그러나 100으로 나누었을때 나누어 떨어진다면 4로 나누어 떨어진다고 해도 그 해는 평년.
그리고 마지막으로 400으로 나누어 떨어진다면 100으로 나누어 떨어진다고 해도 윤년.
*/
CASE WHEN (MOD(iYEAR, 4) = 0 AND MOD(iYEAR, 100) <> 0) OR (MOD(iYEAR, 400) = 0) THEN
RET_NAME := TRUE; --'LEAP YEAR'
ELSE
RET_NAME := FALSE; --'YEAR'
END;
RETURN RET_NAME;
END SF_GET_LEAPYEAR;
/