要獲得所有播種的日期,你可以使用這樣的事情:
Select DateAdd (D, ROW_NUMBER() Over (Order By C1.Ordinal_Position), '12/31/1999') DateValue
From INFORMATION_SCHEMA.COLUMNS C1, INFORMATION_SCHEMA.COLUMNS C2
如果你有過幾個列運行在數據庫上面的查詢,然後更改從待。笛卡爾產品FTW
From INFORMATION_SCHEMA.COLUMNS C1, INFORMATION_SCHEMA.COLUMNS C2,
INFORMATION_SCHEMA.COLUMNS C3, INFORMATION_SCHEMA.COLUMNS C4
現在,您需要每週的不同日子成爲第一天。所以請閱讀SET DATEFIRST。這可讓您將特定會話的第一天設置爲TSQL。
然後,您可以使用DATEPART來獲取您需要的其他列。
將三者結合起來得到您的答案。我將爲您提供一個如何完成這項工作的示例 - 您可以使用DATEADD查詢來獲取Start-Of-Week和End-Of-Week值,以及DATEPART獲得Week-Of-Year和YearN-棕褐色
SET DATEFIRST 3 -- put your corresponding day here
;With AllDates AS
(
Select
DateAdd (D, ROW_NUMBER() Over (Order By C1.Ordinal_Position), '12/31/1999') DateValue
From INFORMATION_SCHEMA.COLUMNS C1
),
AllDatesWithWeekDayNumber AS
(
Select
DateValue,
DatePart (weekday, DateValue) WeekDayNumber
From AllDates
)
Select * From AllDatesWithWeekDayNumber
根據什麼填充?你試過什麼了? –
根據您的結果集,您將如何區分一個客戶的一週與另一個客戶的一週? 「DayofWeek」是什麼意思? (2013年3月1日和2013年10月1日都是星期四)。 –