我与日期范围表由两个字段(开头和结尾)绑定工作: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