[sql] 오늘은 주어진 날짜 범위 내에 있는지 확인하는 함수

SQL에서는 날짜 범위 내에 있는지 확인하는 함수가 유용하게 사용됩니다. 특히, 특정 날짜 범위에 해당하는 데이터를 조회하거나 조건을 검증하는 데 많이 활용됩니다. 이번에는 주어진 날짜가 특정 날짜 범위 내에 있는지 확인하는 SQL 함수를 작성하는 방법에 대해 알아보겠습니다.

문제 정의

일반적으로, 특정 테이블에서 start_dateend_date 컬럼이 있고, 이를 기준으로 어떤 날짜가 해당 범위 내에 있는지 확인해야 할 때가 있습니다. 이 때, 아래와 같이 주어진 날짜가 해당 범위 내에 있는지 확인하는 함수가 필요합니다.

해결 방법

CREATE FUNCTION IsDateInRange 
(
    @checkDate DATE, 
    @startDate DATE, 
    @endDate DATE
)
RETURNS BIT
AS
BEGIN
    DECLARE @result BIT
    SET @result = 
        CASE 
            WHEN @checkDate BETWEEN @startDate AND @endDate THEN 1 
            ELSE 0 
        END
    RETURN @result
END

위 코드는 주어진 날짜가 start_dateend_date 사이에 있는지 확인하는 함수를 정의합니다. 함수내에서 @checkDate 인자가 @startDate보다 크고 @endDate보다 작은지를 확인하고, 이에 따라 1 또는 0을 반환합니다.

이제 위 함수를 사용하여 날짜 범위 내에 있는 데이터를 쉽게 확인하고, 조건을 검증할 수 있습니다.

마무리

이번 글에서는 SQL에서 주어진 날짜 범위 내에 있는지 확인하는 함수를 작성하는 방법에 대해 알아보았습니다. 이 함수를 사용하여 효율적으로 날짜 범위를 다룰 수 있으며, 데이터 분석이나 조회 시 유용하게 활용할 수 있습니다.

참고 자료