仅在SQL中的DateAdd中添加特定日期?

时间:2011-07-11 17:20:01

标签: sql-server-2005 date dateadd

我有一份我正在使用的库存报告,它计算了我们每周特定部分的平均消耗量,然后根据我们手头的数据将其除以向我们展示数字“手头数周”。因此,如果我们平均每周消费496,我们有1500件可用,那么手头的周数应为3.02。

我正在尝试做的是取出那个数字并准确计算出哪一天我们将用完所讨论的部分。因此,我们将在3.02周后用完示例部分。我的问题是我必须排除星期五 - 星期日,所以每个工作周只有四天。

我看过DATEADD()函数,这似乎是我需要使用的东西,但我不知道如何从中排除星期五。我正在使用SQL 2005。

非常感谢!

1 个答案:

答案 0 :(得分:0)

DECLARE @old_dt SMALLDATETIME
SET @old_dt = GETDATE()
DECLARE @new_dt SMALLDATETIME
SET @new_dt = DATEADD(d,CAST(3.2*7 AS INT),@old_dt)
SELECT CASE WHEN DATENAME(weekday,@new_dt) = 'Thursday' THEN DATEADD(d,2,@new_dt) WHEN  DATENAME(weekday,@new_dt) = 'Friday' THEN DATEADD(d,1,@new_dt) ELSE @new_dt END
相关问题