[sql] 특정 월의 날짜 수 계산 함수
아래는 PostgreSQL에서 사용할 수 있는 예제 함수입니다.
CREATE OR REPLACE FUNCTION get_days_in_month(year INT, month INT) RETURNS INT AS $$
BEGIN
RETURN EXTRACT(DAY FROM (DATE_TRUNC('MONTH', MAKE_DATE(year, month, 1)) + INTERVAL '1 MONTH - 1 day'));
END;
$$ LANGUAGE plpgsql;
이 함수는 년도와 월을 입력받아 그 달의 일수를 반환합니다. 만약 2022년 3월의 일수를 알고 싶다면 SELECT get_days_in_month(2022, 3);
와 같이 호출할 수 있습니다.
이 함수를 사용하여 간단히 특정 월의 일 수를 구할 수 있습니다.
참고 자료:
- PostgreSQL DATE_TRUNC 함수: https://www.postgresql.org/docs/current/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC
- EXTRACT 함수: https://www.postgresqltutorial.com/postgresql-extract/
- MAKE_DATE 함수: https://www.postgresql.org/docs/current/functions-datetime.html#FUNCTIONS-DATETIME-MAKE-DATETIME