2016-08-22 9 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年になり、しかし、私はそう私に2017年7月1日を与え、私のTSQLを操作する方法を見つけ出すことはできません

答えて

0

現在、datepart関数からYearのみを選択しています。

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) 

のようにすると、探しているものが得られます。最も美しいハックではありませんが、動作します。希望します..

関連する問題