2016-08-22 34 views
0

我正在一個程序,其中X發生後,我將日期設置爲下一年7月的第一個。更新字段與硬核和計算字段在TSQL

UPDATE dbo.PAY_paymentDetails 
SET nextPayment = CASE 
        WHEN DATEPART(MONTH, dateMade) < 7 
          AND DATEPART(YEAR, dateMade) = DATEPART(YEAR, GETDATE()) 
         THEN DATEPART(YEAR, DATEADD(YEAR, 1, GETDATE())) 
        ELSE DATEPART(YEAR, GETDATE() + 1) 
        END 

所以我一年添加到使用

SELECT DATEPART(YEAR,DATEADD(YEAR,1,GETDATE()) 

當前年份,這將導致在2017年,但我無法弄清楚如何處理我的TSQL所以給我2017年7月1日

回答

0

目前,您只能從datepart函數中選擇年份。如果你喜歡做

SELECT CAST(CAST(DATEPART(YEAR, DATEADD(YEAR, 1, GETDATE())) AS VARCHAR) + '-' + CAST(DATEPART(MONTH,DATEADD(YEAR, 1, GETDATE())) AS VARCHAR) + '-' + CAST(DATEPART(DAY, DATEADD(YEAR, 1, GETDATE())) AS VARCHAR) AS DATE) 

那麼你會得到你在找什麼。不是最漂亮的黑客,但它的工作。希望它有幫助..