如何计算SQL两个日期之间的月数

时间:2015-10-28 16:44:18

标签: sql

如何计算两个日期之间每月发生的次数?

例如,每月在24/8/10和29/2/12之间发生的次数。

2 个答案:

答案 0 :(得分:0)

DateDiff是您可以用来计算各种形式的两个日期之间差异的函数。

以链接为例:

  

SELECT DATEDIFF(月,'2014/01/01','2014/04/28');

     

结果:3

答案 1 :(得分:0)

在Postgres中,您可以使用generate_series(日期,日期,间隔)函数构建日期表,然后简单地按分组计数以确定每个月在该范围内出现的次数。

SELECT EXTRACT(month from d) as month, count(*)
FROM generate_series('2010-8-24'::date, '2012-3-29'::date, '1 month'::interval) d
GROUP BY 1 
ORDER BY 1;

 month | count 
-------+-------
     1 |     2
     2 |     2
     3 |     2
     4 |     1
     5 |     1
     6 |     1
     7 |     1
     8 |     2
     9 |     2
    10 |     2
    11 |     2
    12 |     2
(12 rows)