2015-07-21 62 views
0

我在SSIS中执行SQL任务,更新日期在数据库中,以今天的日期+ 3。但如果假设今天是星期四说(18/6/2015)和作业执行所再根据更新数据库查询日期将更新(21/6/2015)哪些20日和21日是周六和周日。相反,我希望将日期更新到23/6/2015即星期二(不包括周六和周日)。请帮忙!如何更新日期,但日期/天不应坐或周日

+0

发布您的代码? – Matt

回答

0

我做了以下SELECT声明,可以帮助你。 使用DATEPART功能,您可以发现天的总和将是一周中的一天。

DATEPART返回表示作为参数传递给函数的日期星期几的数字,考虑到1日和7是星期六。

select CASE 
     WHEN DATEPART(DW, GETDATE() + 4) = 7 THEN (SELECT GETDATE() + 6) 
     WHEN DATEPART(DW, GETDATE() + 5) = 1 THEN (SELECT GETDATE() + 5) 
     END As date 

在更新语句中使用这个例子:

UPDATE <your table> 
SET dateofanything = (CASE 
          WHEN DATEPART(DW, GETDATE() + 3) = 7 THEN (SELECT GETDATE() + 5) 
          WHEN DATEPART(DW, GETDATE() + 3) = 1 THEN (SELECT GETDATE() + 4) 
         END As date) 
相关问题