0

如果我想获取到之间的数据March 2013November对于每个月,所有每日数据都将汇总为每月数据),我认为我所做的是正确的。但它给了我(从到的186 rows所有日期)的结果,而不是只给出(两者之间的几个月)。MarchNovember99

出于某种原因,我只1得到November.

谁能解决这个问题?

 SELECT 
     TO_CHAR (TO_DATE ('201305','YYYYMM')+LEVEL- 1, 'YYYYMM') AS MONTH
        FROM DUAL
        CONNECT BY TO_DATE('201305', 'YYYYMM') + LEVEL - 1  <=  TO_DATE('201311', 'YYYYMM')
4

1 回答 1

1

这是你想要的吗?

 SELECT TO_CHAR(ADD_MONTHS(TO_DATE('201303','YYYYMM'),LEVEL-1), 'YYYYMM') AS Month
   FROM DUAL
CONNECT BY ADD_MONTHS(TO_DATE('201303','YYYYMM'),LEVEL-1 ) <= TO_DATE('201311', 'YYYYMM');

输出:

Month
-------
201303
201304
201305
201306
201307
201308
201309
201310
201311
于 2013-07-01T08:10:25.143 回答