[sql] 특정 월에 속하는 모든 날짜 가져오기 함수
CREATE FUNCTION GetDatesInMonth (start_date DATE, end_date DATE)
RETURNS TABLE(date_val DATE)
AS $$
BEGIN
    RETURN QUERY
    SELECT generate_series(start_date, end_date, '1 day'::interval) AS date_val
    FROM generate_series('1 month'::interval, end_date, '1 month'::interval)
    WHERE start_date <= end_date;
END;
$$ LANGUAGE plpgsql;

위 함수는 PL/pgSQL을 사용하여 작성되었습니다. 함수는 시작일과 종료일을 입력받고 해당 범위에 있는 모든 날짜를 반환합니다.

이제 이 함수를 사용하여 특정 월에 속하는 모든 날짜를 가져올 수 있습니다.

SELECT * FROM GetDatesInMonth('2022-07-01', '2022-07-31');

이 쿼리는 ‘2022-07-01’에서 ‘2022-07-31’ 사이에 있는 모든 날짜를 반환할 것입니다.

이 함수를 사용하여 특정 월에 속하는 모든 날짜를 가져올 수 있습니다.

이제 이 함수를 사용하여 특정 월에 속하는 모든 날짜를 가져올 수 있습니다.