2016-10-24 32 views
0

如何使用Oracle如何使用Oracle

我試圖像,一些日期間IAM越來越月份名稱擺脫SYSDATE前11個月的名稱

select add_months (trunc (to_date('10/18/2007','MM/DD/YYYY'), 'MM'), 1*Level -1) 
Month FROM Dual 
CONNECT BY Level <= MONTHS_BETWEEN(to_date('11/17/2008','MM/DD/YYYY'), to_date('10/18/2007','MM/DD/YYYY')) + 1 
order by month 
+0

你的問題到底是什麼? –

+0

我需要從sysdate得到最近11個月的名字。例如:sysdate = 24-oct-2016,最近11個月的名字sep-2016,aug-2016,july-2016 ... like that –

+0

查詢有什麼問題嗎有? –

回答

1

可能是你從SYSDATE前11個月的名稱需要類似的東西:

select to_char(add_months (to_date('10/18/2007','MM/DD/YYYY'), -1* Level), 'Mon-YYYY') 
Month 
FROM Dual 
CONNECT BY Level <= 11 
order by month 
1

您可以使用此:

SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-1*LEVEL ),'MON') MONTH_NAME 
    FROM DUAL 
CONNECT BY LEVEL <= MONTHS_BETWEEN( TRUNC(SYSDATE,'MM') , ADD_MONTHS(TRUNC(SYSDATE,'MM'),-11)) 
ORDER BY LEVEL