我需要编写一个商店程序,它将返回给定日期的下一个星期五日期?例如 – 如果日期是05/12/2011,那么它应该在下个星期五返回05/13/2011.如果您通过,05/16/2011,那么它应该返回日期是5/20/2011(星期五).如果您将星期五作为日期传递,那么它应该返回相同的日期.
解决方法
我将它设为标量UDF,因为它更容易消耗输出.
CREATE FUNCTION dbo.GetNextFriday( @D DATETIME ) RETURNS DATETIME WITH SCHEMABINDING,RETURNS NULL ON NULL INPUT AS BEGIN RETURN DATEADD(DAY,(13 - (@@DATEFIRST + DATEPART(WEEKDAY,@D)))%7,@D) END