[sql] 특정 주 단위의 날짜 더하기 및 빼기 함수

데이터베이스 쿼리를 작성할 때, 특정 주 단위의 날짜를 더하거나 빼는 일이 종종 있습니다. 하지만 SQL에서는 이를 직접적으로 지원하지 않는 경우도 있습니다. 이때 직접 함수를 만들어 사용할 수 있습니다.

다음은 날짜를 더하는 함수 add_weeks와 날짜를 빼는 함수 subtract_weeks를 만드는 예제입니다.

날짜 더하기 함수 만들기

CREATE FUNCTION add_weeks(date_val DATE, num_weeks INT)
RETURNS DATE
DETERMINISTIC
RETURN date_val + INTERVAL num_weeks WEEK;

위의 예제 코드에서 add_weeks라는 함수는 날짜 값과 주 단위로 더할 값을 입력으로 받아 해당 날짜에 그 값을 더한 날짜를 반환합니다.

날짜 빼기 함수 만들기

CREATE FUNCTION subtract_weeks(date_val DATE, num_weeks INT)
RETURNS DATE
DETERMINISTIC
RETURN date_val - INTERVAL num_weeks WEEK;

subtract_weeks 함수는 마찬가지로 날짜 값을 입력으로 받고, 주 단위로 빼야 할 값을 받아 해당 날짜에서 그 값을 뺀 날짜를 반환합니다.

이제 위의 함수들을 사용하여 간편하게 날짜를 더하거나 빼는 작업을 수행할 수 있습니다.

참고 자료

위의 예제는 MySQL을 기준으로 작성되었습니다. 데이터베이스 시스템에 따라 문법이나 함수의 이름이 다를 수 있으니 해당 데이터베이스 시스템의 공식 문서를 참고하시기 바랍니다.