[sql] 특정 날짜가 주어진 요일과 일치하는지 확인하는 함수
CREATE FUNCTION IsDayOfWeek(dateToCheck DATE, dayToCompare VARCHAR(10)) RETURNS BOOLEAN
BEGIN
    RETURN DAYOFWEEK(dateToCheck) = CASE 
        WHEN dayToCompare = 'Sunday' THEN 1
        WHEN dayToCompare = 'Monday' THEN 2
        WHEN dayToCompare = 'Tuesday' THEN 3
        WHEN dayToCompare = 'Wednesday' THEN 4
        WHEN dayToCompare = 'Thursday' THEN 5
        WHEN dayToCompare = 'Friday' THEN 6
        WHEN dayToCompare = 'Saturday' THEN 7
    ELSE 0 END;
END;

이제 함수 IsDayOfWeek를 호출하여 특정 날짜가 주어진 요일과 일치하는지 확인할 수 있습니다.

SELECT IsDayOfWeek('2023-10-15', 'Sunday'); -- 결과는 1 (True)
SELECT IsDayOfWeek('2023-10-15', 'Monday'); -- 결과는 0 (False)

이 함수는 dateToCheck에 전달된 날짜와 dayToCompare에 전달된 요일을 비교하고, 둘의 값이 일치하면 TRUE를 반환합니다.

참고문헌: