查询语句.SP 或函数应该计算星期五的下一个日期 [英] SQL . The SP or function should calculate the next date for friday
本文介绍了查询语句.SP 或函数应该计算星期五的下一个日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要编写一个存储过程来返回给定日期的下一个星期五日期吗?例如 - 如果日期是 05/12/2011,那么它应该返回下周五的日期为 05/13/2011.如果您通过 05/16/2011,那么它应该返回日期为 5/20/2011(星期五).如果您将 friday 作为日期传递,那么它应该返回相同的日期.
I need to write a store procedure that will return a next friday date on a given date? for example - if the date is 05/12/2011, then it should return next friday date as 05/13/2011. If you pass, 05/16/2011, then it should return the date is 5/20/2011 (Friday). If you pass friday as the date, then it should return the same date.
推荐答案
我会将其设为标量 UDF,因为它更易于使用输出.
I'd make this a scalar UDF as it is easier to consume the output.
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
这篇关于查询语句.SP 或函数应该计算星期五的下一个日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文