1

2014-01-01当输入为日期( )时,我有以下查询生成给定年份的月份列表:

SELECT to_char(dd, 'Month') 
FROM generate_series(CAST('2014-01-01' AS DATE), date_trunc('month', now()), '1 month') as dd;

  to_char  
-----------
 January  
 February 
(2 rows)

现在,2014-01-01我不需要只通过2014并获得相同的结果。

4

2 回答 2

2
SELECT distinct to_char(dd, 'Month') FROM generate_series(to_date('2013', 'YYYY') , date_trunc('month', now()), '1 month') as dd;
于 2014-02-21T12:18:11.463 回答
2

您可以应用于-01-01年份输入:

SELECT 
  to_char(dd, 'Month') 
FROM 
  generate_series(
      ('2013' || '-01-01')::date, 
      ('2013' || '-01-01')::date + interval '1 year' - interval '1 day', 
      '1 month') as dd;
于 2014-02-21T12:33:04.210 回答