나는 이미 주 숫자를 얻는 것을 발견한다, 그러나, 그것은 다른 방법으로 날짜를 보여준다.내 경우 SQL Server를 사용하여 주 번호를 사용하여 주 시작 날짜와 종료 날짜를 얻는 방법?
는 사실은 내가
select datepart(wk,'2016-01-02') //Saturday
output: 1
select datepart(wk,'2016-01-03') //Sunday
output: 2
의 날짜의 주 번호를 확인하면하지만 시작 주 번호를 사용하여 주 날짜를 종료 날짜를 얻을 때, 그것은 다른 보여줍니다. 내가 주 = 1 줄이 STARTINGDATE이 **에게 2016-01-01
및 ** EndingDate = 주 번호 22016-01-02
, 그것은 주어야한다 = 주어야한다 만약 내가 출력을 기대하고
DECLARE @weekStart INT
DECLARE @weekEnd INT
DECLARE @Year INT
set @weekStart = 1
set @Year = 2016
DECLARE @WeekStartDate date
DECLARE @WeekEndDate date
SET @WeekStartDate = convert(date,DATEADD (WEEK, @weekStart, DATEADD (YEAR, @Year-1900, 0)) - 4 -
DATEPART(DW, DATEADD (WEEK, @weekStart, DATEADD (YEAR, @Year-1900, 0)) - 4) + 1)
SET @WeekEndDate =convert(date,DATEADD (WEEK, @weekStart+1, DATEADD (YEAR, @Year-1900, 0)) - 4 -
DATEPART(DW, DATEADD (WEEK, @weekStart+1, DATEADD (YEAR, @Year-1900, 0)) - 4) + 1)
select @WeekStartDate,@WeekEndDate
output:
StartingDate EndingDate
--------------------------
2016-01-03 2016-01-09
이며, 그 다음 시간 1에 해당하지 않는 경우
2016-01-03 2016-01-09
가 난 그냥 차원 테이블 .... HTTPS를 만들 것이라고 당신은 정말 끝이 + 시작 육일 때문에 시작을 계산해야합니다. mssqltips.com/sqlservertip/4054/creating-a-date-dimension-or-calendar-table-in-sql-server/ – scsimon