0

DateAddを使用したり、日付の差を計算したりせずに、日付の日の部分を変更することはできますか?

SET @ReturnDate = '5/16/2012'

SET @ModifyDay = 20

にのみ16変更20

結果は次のようになります5/20/2012

この理由は、vbコードをストアドプロシージャに変換しているためです。

    Dim InvDate_Day_of_Month As Integer = CInt(Day(InvDate))
    PaymentDate = DateAdd(DateInterval.Month, 1, InvDate)
    PaymentDate = New Date(PaymentDate.Year, PaymentDate.Month, DayofTheMonth)
4

2 に答える 2

2
SET @ReturnDate = @ReturnDate + (@ModifyDay - DATEPART(day, @ReturnDate))
于 2012-05-08T19:01:36.080 に答える
1

日付に4日を追加しようとしている場合は、文字通り4日を追加できます。

DECLARE @ReturnDate DATETIME;
SET @ReturnDate = '5/16/2012'

SELECT @ReturnDate, @ReturnDate + 4

これにより 、 2012-05-16 00:00:00.000および2012-05-20 00:00:00.000が選択されます

于 2012-05-08T19:12:05.370 に答える