I am a newbie to advanced SQL, I need to write a SVF in SQL Server to return previous Friday's date if the parameter date I entered is not a Friday.
For example, today is Wednesday, 7/1/2015, this function should return previous Friday 6/26/2015. Suppose today is Friday 7/3/2015, then the function will return 7/3/2015 (no change).
Ask for help if you can edit my following code:
CREATE FUNCTION fnDateCheck (@date datetime)
RETURNS @FridayDate date
AS
BEGIN
DECLARE @FridayDate
if
RETURN
else if
RETURN
END
GO
I found this reference post, quite similar to what I am asking but it's not a function: Get last Friday's Date unless today is Friday using T-SQL
declare @date datetime;
set @date = '2012-08-10'
SELECT
CASE WHEN datepart(weekday, @date) > 5
THEN DATEADD(DAY, +4, DATEADD(WEEK, DATEDIFF(WEEK, 0, @date), 0))
ELSE DATEADD(DAY, -3, DATEADD(WEEK, DATEDIFF(WEEK, 0, @date), 0))
END
Thanks so much!!