年の特定の日を取得しようとしています。
これが私が今まで試したことです:-
-- 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
です。
これで問題が少し解決することを願っています。