set @weekstart = dateadd(dd,1-@dayweek,@resultdate)
set @weekend = DateAdd(dd,7-@dayweek,@resultdate)
end
return '第'+Convert(varchar,@weeknum)+'周'+'('+right(convert(varchar(10),@weekstart,111),5)+'--'+right(Convert(varchar(10),@weekend,111),5)+')'
end
Go
例如:
select test.getwstend('2006-4-17')
返回結果是:第16周(04/16--04/22)
利用這個函數相信就可以實現你的要求了,把所有表1中的數據轉到表2
方法二:
為了避免數據的冗余,建議不要把數據從第一個表轉到第二個表。因為這樣會造成數據冗余。你可以在查詢時候使用函數產生week_of_year nvarchar 這個欄位。
方法三:
創建一個表,欄位為:
create table tw
(
time_date datetime,
week_of_year nvarchar
)
然后1910.1.1---2050.12.31之間的所有日期都產生一個對照的week_of_year nvarchar,方法也是使用上面創建的函數。然后查詢的時候。只要兩個表作關聯就可以了
如果原始表中的記錄很多。而且日期有很多重復,我們更推薦使用方法三。
文章來源于領測軟件測試網 http://www.kjueaiud.com/