oracle-sql-Abfrage, um eine Liste aller Datumsangaben des vorherigen Monats

Jungs ich habe eine Anforderung, um eine Liste aller Termine des letzten Monats wie unten

20101201
20101202
20101203
20101204
20101205
..
..
..
..
..
..
..
..
20101231

bitte lassen Sie mich wissen, wenn keine bessere Art und Weise zu tun, als diese Abfrage.

select TO_CHAR(TRUNC(SYSDATE,'MM')-1,'YYYYMMDD')-(level-1) as 
EACH_DATE from dual A connect by level 
< (TO_NUMBER(TO_CHAR(TRUNC(SYSDATE,'MM')-1,'DD'))+1)

Auch bitte lassen Sie mich wissen, das problem mit dieser Abfrage sagt es "fehlende Rechte Klammer"

SELECT /*+ PARALLEL (A,8) */ /*+ DRIVING_STATE */
   TO_CHAR(TRUNC(TRUNC(SYSDATE,'MM')-1,'MM'),'MONYYYY') "MONTH", TYPE AS "TRAFF",     COLUMN, A_COUN AS "A_COUNT",COST  FROM DATA_P B WHERE  EXISTS  
(  
  select TO_NUMBER(TO_CHAR(TRUNC(SYSDATE,'MM')-1,'YYYYMMDD')-(level-1))  EACH_DATE 
  from dual A connect by  level < TO_NUMBER(TO_CHAR(TRUNC(SYSDATE,'MM')-1,'DD')+1) 
  WHERE A.EACH_DATE = B.DATE  order by EACH_DATE ASC
 )

hervorgehobenen text

InformationsquelleAutor Dead Programmer | 2011-01-10

Schreibe einen Kommentar