年の特定の日を取得しようとしています。
これが私が今まで試したことです:-
-- Declare few variables
DECLARE @Currentdate AS DATETIME
DECLARE @DueDate AS DATETIME
DECLARE @NewDate AS DATETIME
-- Set the variables properly, just for testing
SET @Currentdate = GETDATE()
SET @DueDate = DATEADD(MONTH, 2, DATEADD(YEAR, 1, @Currentdate))
-- Check the output
SELECT @Currentdate -- 2013-09-30 00:00:00.000
SELECT @DueDate -- 2014-11-30 00:00:00.000
@NewDateだから、私は年に基づいて取得したい@Currentdate。このために私は試しました: -
SELECT @NewDate = DATEADD(DAY, DAY(DATEDIFF(day, 1, @DueDate)), DATEADD(MONTH, DATEDIFF(MONTH, 0, @Currentdate), 0))
SELECT @NewDate -- 2013-09-30 00:00:00.000
しかし、うまくいきませんでした。:(
私の期待される結果は次のようなものです:
-- 2013-11-30 00:00:00.000
-- Having the due date month and date same, but the year as current date one.
どんな助けでも大歓迎です!
アップデート
私が作成したすべての混乱をお詫び申し上げます。簡単な言葉での私の質問は次のとおりです。
変数と同じ日付と月を持つ新しい日付変数を取得したいのです@DueDateが、変数で指定された年@Currentdateです。
これで問題が少し解決することを願っています。