我試圖根據用戶輸入的周開始日創建自定義週數和範圍。sql自定義生成周範圍
我通過SET Datefirst = @Userdefinedvalue
(使用函數將星期幾的起始值映射到T-SQL)將該用戶定義的日期傳遞給該用戶。另外我有一個功能可以讓我在本週的最後一天。
這是最好的方法是什麼?
我的目標是:如果我選擇週二是一週中我開始一天的存儲過程來產生我的週數,並開始/基於我選擇整年結束日期
我試圖根據用戶輸入的周開始日創建自定義週數和範圍。sql自定義生成周範圍
我通過SET Datefirst = @Userdefinedvalue
(使用函數將星期幾的起始值映射到T-SQL)將該用戶定義的日期傳遞給該用戶。另外我有一個功能可以讓我在本週的最後一天。
這是最好的方法是什麼?
我的目標是:如果我選擇週二是一週中我開始一天的存儲過程來產生我的週數,並開始/基於我選擇整年結束日期
的想法是找到一週的第一天。首先,使用內置函數的SQL Server將本週的開始時間移至星期日(美國境內),方法是減去datepart(wd)
。其實datepart(wd)
返回值1到7,我們希望他們0到6.
然後,根據您的一週的日期添加一個偏移量。下面是示例代碼:
declare @offset int (case when @DateFirst = 'Mon' then 1
when @DateFirst = 'Tue' then 2
...
when @DateFirst = 'Sun' then 0
end);
select dateadd(dd, @offset - (datepart(wd, thedate) - 1)
thedate) as WeekStartDate
[歡迎計算器!(http://stackoverflow.com/faq)這是一個以社區爲主持Q/A網站,所以我把提高的格式化的自由你張貼一點。我希望你不要介意=)快樂的編碼! –
您在查找查詢結果,或者您正在更新表格嗎? –
將在全年生成查詢結果。 – Milen