0

2 つの日付の差が月単位または日単位になるソリューションを実装する必要があります。

たとえば、日付date1と日付に 2 つの口座を開設していますdate2。日付の差分が 1 か月以上か 1 か月未満かを調べる必要があります。

インスタンス 1 -

Date1 - 30-01-2007
Date2 - 01-03-2007

日付の差分は 30 日で 1 か月未満ですが、2 月全体が過ぎている場合は 1 か月の範囲に収まるはずです。

インスタンス 2 -

Date1 - 26-11-2007
Date2 - 26-12-2007

ここで、日付の差分は 30 日です。経過した月は 2007 年 11 月なので、30 と比較する必要があります。したがって、1 か月です。

インスタンス 3 -

Date1 - 16-02-2010
Date2 - 17-03-2010

日付の差分は 29 日ですが、経過する月は 2010 年 2 月なので、28 と比較する必要があります。したがって、再び 1 か月になります。

Datediff では正しい結果が得られません。以下の datediff の場合、結果は 1 です。しかし、結果は実際には 2 になるはずです。

select datediff(month,'2007-01-01','2007-02-28')

助けてください。

4

1 に答える 1

0

手動で行う必要があります。

日付差分を使用しますが、日数を渡します。すなわち:

select datediff(day,'2007-01-01','2007-02-28')

この数字を使って、今が何月なのかを調べてください。すなわち:

select datepart(month,'2007-01-01')

次に、月と経過日数に応じて case ステートメントを使用します。

于 2013-03-18T14:59:40.670 に答える