我與日期範圍表由兩個字段(開頭和結尾)綁定工作:SQL日期範圍查詢
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個)。
完成此操作的最佳方法是什麼?
你想如何計算幾個月?例如,「2013-01-14 - 2013-02-13」一個月? '2013-01-31 - 2013-03-01'兩個月嗎?或者我們可以假設'START'和'END'包含每個月的第一個? – PoByBolek
我想將一個月計爲月= 30天。 – user1893148
我想要整個表格的結果,就像在我的SUM(DATEDIFF)例子中一樣。 – user1893148