MAKEDATE(year, dayofyear) : date타입 반환
| 매개변수 | 설명 |
|---|---|
year | 연도 (숫자) |
dayofyear | 해당 연도의 몇 번째 날인지 (1 = 1월 1일) |
두 번째 인자가 월/일이 아니라 "연중 몇 번째 날" 이라는 점이 포인트예요.
MAKEDATE(2025, 1) -- 2025-01-01 (1월 1일 = 연중 1번째 날)
MAKEDATE(2025, 31) -- 2025-01-31 (1월 31일 = 연중 31번째 날)
MAKEDATE(2025, 32) -- 2025-02-01 (2월 1일 = 연중 32번째 날)
MAKEDATE(2025, 365) -- 2025-12-31
MAKEDATE(2024, 366) -- 2024-12-31 (2024년은 윤년이라 366일)
dayofyear가 365를 넘으면 다음 연도로 넘어가요.
MAKEDATE(2025, 366) -- 2026-01-01 (2025년은 윤년 아님)
MAKEDATE(2025, 400) -- 2026-02-04
MAKEDATE(2025, 0) -- NULL (0번째 날은 없음)
MAKEDATE(0, 1) -- NULL (연도 0은 허용 안 함)
MAKEDATE(NULL, 1) -- NULL
MAKEDATE(2025, NULL) -- NULL
-- 해당 연도의 첫째날
MAKEDATE(YEAR(NOW()), 1) -- 2025-01-01
-- 특정 날짜가 속한 연도의 첫째날
MAKEDATE(YEAR('2025-11-03'), 1) -- 2025-01-01
-- DAYOFYEAR()와 조합 (날짜 → 연중 일수 → 다시 날짜)
MAKEDATE(2025, DAYOFYEAR('2025-03-15')) -- 2025-03-15
MAKEDATE()의 반대 함수가 DAYOFYEAR()예요.
DAYOFYEAR('2025-03-15') -- 74 (3월 15일은 연중 74번째 날)
MAKEDATE(2025, 74) -- 2025-03-15
0 입력 시 NULL 반환