[sql] 특정 날짜가 주어진 날짜 범위에 속하는지 확인하는 함수

인사이트를 얻기 위해 날짜가 특정 날짜 범위에 속하는지 확인해야 하는 경우가 종종 있습니다. 이러한 요구사항을 간단하게 처리하기 위해 SQL 함수를 작성할 수 있습니다.

CREATE FUNCTION dbo.IsDateInRange 
(
    @inputDate DATE,
    @startDate DATE,
    @endDate DATE
)
RETURNS BIT
AS
BEGIN
    DECLARE @result BIT

    IF (@inputDate >= @startDate AND @inputDate <= @endDate)
    BEGIN
        SET @result = 1
    END
    ELSE
    BEGIN
        SET @result = 0
    END

    RETURN @result
END

이 함수는 세 개의 인수를 받아들입니다. @inputDate는 확인할 날짜이고, @startDate@endDate는 확인할 날짜 범위를 나타냅니다. 함수는 BIT 유형의 값을 반환하며 1은 주어진 날짜가 범위에 속하는 경우를, 0은 그렇지 않은 경우를 나타냅니다.

함수를 사용하여 특정 날짜가 주어진 범위에 속하는지 간단하게 확인할 수 있습니다.

DECLARE @targetDate DATE = '2023-05-15'
DECLARE @rangeStart DATE = '2023-01-01'
DECLARE @rangeEnd DATE = '2023-12-31'

SELECT dbo.IsDateInRange(@targetDate, @rangeStart, @rangeEnd) AS IsInRange

위 SQL문은 ‘2023-05-15’ 날짜가 ‘2023-01-01’부터 ‘2023-12-31’까지의 범위에 속하는지 여부를 확인하고 결과를 반환합니다. 반환된 값은 1 또는 0이 될 것입니다.

이제 함수를 사용하여 날짜를 범위 내에서 효과적으로 확인할 수 있습니다!