How to convert a week number to valid Datetime
At first create a SQL Server user defined Function( like below)
CREATE function fn_week2date ( @YearNum as int , @WeekNum as int , @FirstOrLastDay bit )RETURNS DATETIMEbegin declare @res as datetime if @FirstOrLastDay = 0 SELECT @res = DATEADD(wk, DATEDIFF(wk, 6, convert( datetime , '1.1.' + convert( varchar , @YearNum) , 104 ) ) + (@WeekNum-1), 6) else SELECT @res = DATEADD(wk, DATEDIFF(wk, 5, convert( datetime , '1.1.' + convert( varchar , @YearNum) , 104 ) ) + (@WeekNum-1), 5) return @res end Than you can execute the function according to your needs
- Get the First day of given Week number and Year
declare @d as datetime
select @d = dbo.fn_week2date( 2010 , 20 , 0 )
print @d
- Get the last day of given Week number and Year
declare @d as datetime
select @d = dbo.fn_week2date( 2010 , 20 , 0 )
print @d
Comments
Thanks so much for that code! It saved me a lot of time. Thanks!
Leave a trace
Post being viewed right now
Item date: 20.07.2009
Views: 1793
Item date: 18.06.2009
Views: 1167
Item date: 24.08.2009
Views: 390
Item date: 18.06.2009
Views: 661
Item date: 05.02.2009
Views: 1221
Item date: 05.02.2009
Views: 1640
Item date: 06.12.2010
Views: 1031
Item date: 08.01.2012
Views: 92
Item date: 06.08.2009
Views: 8765
Item date: 14.07.2010
Views: 634