SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
/*
Returns the Monday, Friday, Sunday, and Monday of the week before the current date.
*/
Alter function dbo. previusweek
(@ Day as varchar (50 ))
Returns @ table (previusmonday varchar (20), previusfriday varchar (20), previussunday varchar (20), previus13weekmonday varchar (20 ))
As
Begin
-- Define date Variables
Declare @ previusday varchar (20), @ previusmonday varchar (20), @ PreviousSunday varchar (20), @ previusfriday varchar (20 ),
@ Previus13weekmonday varchar (20)
-- Get the date of the previous week of the current date
Set @ previusday = convert (varchar (10), dateadd (day,-7, @ Day), 120)
-- Obtain the Monday date of the week
Set @ previusmonday = convert (varchar (10), dateadd (wk, datediff (wk, 0, @ previusday), 0), 120)
-- Get Sunday and Friday
Set @ previussunday = convert (varchar (10), dateadd (day, 6, @ previusmonday), 120)
Set @ previusfriday = convert (varchar (10), dateadd (day, 4, @ previusmonday), 120)
-- Get Monday 13 weeks ago
Set @ previus13weekmonday = convert (varchar (10), dateadd (wk,-13, @ previusmonday), 120)
-- Pay to the temporary table and return
Insert into @ table
Values (@ previusmonday, @ previusfriday, @ previussunday, @ Previous13WeekMonday)
Return
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO