본문 바로가기
Oracle

[Oracle] 윤년/평년 구하기

by IT History 2024. 2. 23.
728x90
반응형
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;
 
728x90
반응형

댓글