어느 가을날의 전환점

ORACLE|윤년 여부를 반환하는 함수 본문

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

Comments