我有一个包裹表,其中每个包包含天数,包括天数[任意一天星期日,星期一,...]查找结束日期基于开始日期和持续时间 - T-SQL
Package | Duration | Days Included
-------------------------------------------
Package 1 | 10 days | '1,2,3' [Sun, Mon, Tue]
Package 2 | 15 days | '4,5,6,7' [Wed, Thu, Fri, Sat]
Package 3 | 30 days | '1,2,3,4,5,6,7' [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
etc
当客户选择任何包裹(选择开始日期)时,我需要根据编号计算包裹的到期日期。包中包含的天数和天数。
我需要创建一个函数,其中将返回到期日期提供 以下3个输入。
- 开始日期
- 被包括天
- 天数
例子:
对于包1,从3月13-2016开始,正确的结束日期应该是: 03-Apr-2016 (10天将是13,14,15,20,21,22,27,28,29 March,03 Apr)
DECLARE @StartDate DATETIME
DECLARE @NoDays INT
DECLARE @EndDate DATETIME
SET @EndDate = DATEADD(DD, @NoDays, @StartDate)
到目前为止,我已经做到了这一点,但它包括所有的7天。
任何人都可以帮助只有特定的日子可以包括以获得正确的失效日期?
请解释* Days Included *的工作原理 – har07
另外,发布正确的' EndDate'示例给出了某个'StartDate','NoDays'和* Days Included * – har07
@ har07我编辑了一个样本的问题。询问我是否仍不清楚 –