2015-10-28 243 views

回答

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) 
0

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

从链接作为一个例子:

SELECT DATEDIFF(月, '2014年1月1日', '2014年4月28日');

结果:3

相关问题