2015-07-21 85 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) 
相關問題