■ 특정일 기준의 첫번째 요일의 날짜를 구하는 방법을 보여준다.
▶ 특정일 기준 첫번째 요일의 날짜 구하기 예제 (SQL)
1 2 3 |
SELECT dbo.GetDateCommingFirstWeekDay('20140301', 2); |
▶ 특정일 기준 첫번째 요일의 날짜 구하기 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
CREATE FUNCTION dbo.GetDateCommingFirstWeekDay ( @P_StartDate VARCHAR(8), -- 시작일 @P_WeekDay INT -- 요일: 일요일(1), 월요일(2), 화요일(3), 수요일(4), 목요일(5), 금요일(6), 토요일(7) ) RETURNS VARCHAR(8) BEGIN DECLARE @WorkDate SMALLDATETIME; -- 작업일자 DECLARE @ReturnDate VARCHAR(8); -- 반환일 SET @WorkDate = @P_StartDate; WHILE 1 = 1 BEGIN IF DatePart(dw, @WorkDate) = @P_WeekDay BEGIN SET @ReturnDate = Convert(VARCHAR(8), @WorkDate, 112); BREAK; END SET @WorkDate = DateAdd(dd, 1, @WorkDate); END RETURN @ReturnDate; END GO |