【问题标题】:Adding only certain days to a DateAdd in SQL?在 SQL 中只向 DateAdd 添加特定日期?
【发布时间】:2011-07-11 17:20:00
【问题描述】:

我正在处理一份库存报告,该报告计算了我们每周平均消耗的特定零件,然后将其除以我们手头的数量,以显示一个数字“手头的周数”。因此,如果我们的平均每周消费量为 496 并且我们有 1500 件可用,那么手头的周数应该是 3.02。

我要做的是取那个数字并准确计算出我们将在哪一天用完相关零件。所以我们会在 3.02 周后用完示例部分。我的问题是我必须排除周五 - 周日,所以每个工作周只有四天。

我查看了 DATEADD() 函数,这似乎是我需要使用的,但我只是不确定如何从中排除星期五。我为此使用 SQL 2005。

非常感谢!

【问题讨论】:

    标签: sql-server-2005 date dateadd


    【解决方案1】:
    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
    

    【讨论】:

      猜你喜欢
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 2020-09-24
      • 1970-01-01
      • 2017-09-20
      • 2021-04-26
      • 1970-01-01
      相关资源
      最近更新 更多