查询语句.SP 或函数应该计算星期五的下一个日期 [英] SQL . The SP or function should calculate the next date for friday

查看:30
本文介绍了查询语句.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆