두 가지 특정 날짜가 있습니다. 2014-04-04에서 2015-10-04까지 말할 수 있습니다. 나는 Blah 코스의 수업이 월, 수, 금요일에있을 것이라는 계획이 있습니다. 이제 2014-04-04부터 2015-10-04까지 월, 수, 금의 날짜를 확인하고 싶습니다.
숫자 테이블이없는 경우 재귀 CTE를 사용할 수 있습니다. 이 같은. 이 있습니다 DATEPART(weekday,Dates) IN(1,3,5)
당신의 설정을 기반으로합니다 SELECT @@DATEFIRST
.
예를 들어 If @@DATEFIRST
는 1
다음을 사용하십시오.DATEPART(weekday,Dates) IN(1,3,5)
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate = '2014-04-04'
SET @EndDate = '2015-10-04'
;WITH CTE AS
(
SELECT @StartDate Dates
UNION ALL SELECT DATEADD(d,1,Dates) FROM CTE WHERE DATEADD(d,1,Dates) <=@EndDate
)
SELECT Dates,DATENAME(weekday,Dates) FROM CTE
WHERE DATEPART(weekday,Dates) IN(1,3,5)
OPTION (MAXRECURSION 0);
GO
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다