[sql] 특정 날짜가 월의 마지막 요일인지 확인하는 함수
아래는 함수가 반환하는 값을 빈도표로 보여줍니다.
요일 | 월의 마지막 요일 여부 |
---|---|
Monday | False |
Tuesday | False |
Wednesday | False |
Thursday | False |
Friday | False |
Saturday | False |
Sunday | True |
위와 같이 함수는 입력된 날짜가 해당 월의 마지막 요일이면 True
를, 그렇지 않으면 False
를 반환할 것입니다.
함수를 작성한 후, SQL 서버와 호환되는 코드 예제를 통해 보여드리도록 하겠습니다.
CREATE FUNCTION IsLastWeekdayOfMonth(@inputDate DATE)
RETURNS BIT
AS
BEGIN
DECLARE @lastDayOfMonth DATE;
SET @lastDayOfMonth = EOMONTH(@inputDate);
IF DATEDIFF(DAY, @inputDate, @lastDayOfMonth) < 7
AND DATEPART(WEEKDAY, @lastDayOfMonth) = DATEPART(WEEKDAY, @inputDate)
BEGIN
RETURN 1;
END
RETURN 0;
END;
위 코드는 IsLastWeekdayOfMonth
라는 이름의 함수를 생성합니다. 함수는 입력된 날짜가 해당 월의 마지막 요일이면 1을 반환하고, 그렇지 않으면 0을 반환할 것입니다.
이제 이 함수를 사용하여 예제를 실행하고 결과를 확인할 수 있습니다. 함수를 호출하여 특정 날짜가 해당 월의 마지막 요일인지를 확인할 수 있습니다.
SELECT dbo.IsLastWeekdayOfMonth('2023-05-26') AS IsLastWeekday;
이렇게 함수를 사용하여 특정 날짜가 해당 월의 마지막 요일인지 확인할 수 있습니다.