1

2 つのフィールド (開始と終了) でバインドされた日付範囲を持つテーブルを使用しています。

ID  |  START      |  END
1      2010-01-01    2010-07-01
2      2011-01-01    2011-07-01
3      2012-01-01    2013-07-01
4      2013-01-01    2013-07-01
5      2009-01-01    2013-07-01

次のようなクエリによって、すべての範囲で表される「月」数の大まかな見積もりを取得できました。

SELECT SUM(DATEDIFF(dy, Start, End) / 30) as Total_Months
FROM TABLE

私がやりたいのは、特定の期間内のすべての範囲で何月 (または日) が表されるかを照会することです。

[2013-01-01 - 2013-07-01]したがって、上記の例の期間から何月を表すかを尋ねると18、(行 3、4、および 5 のそれぞれから 6) と表示されます。

これを達成するための最良の方法は何ですか?

4

2 に答える 2