Exibir meses de um deternimado intervalo

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
brunomachado
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Ter, 26 Jul 2005 6:14 pm
Localização: Fortaleza - CE

Olá todos! Estou com um problema ainda sem solução. Existe uma query onde eu possa gerar os meses/anos de um intervalo especificado na clausula WHERE?
Por exemplo. Gostaria de exibir os registros no formato (mm/yyyy):
01/2005
02/2005
03/2005
04/2005
05/2005
06/2005
Onde possa passar no WHERE este intervalo 01/2005 e 06/2005.

Valeu galera!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Dá uma olhada nesse SQL:

Selecionar tudo

select 
  add_months(trunc( DATA1  ,'mm'),rownum-1)
from user_tables
where rownum <= months_between ( DATA 2) 
                               , DATA 1 
                               ) + 1
Exemplo: (de 10/2005 a 12/2005)

Selecionar tudo

SQL> select 
  2    add_months(trunc( TO_DATE('10/2005','MM/YYYY')  ,'mm'),rownum-1)
  3  from user_tables
  4  where rownum <= months_between ( to_date('12/2005','mm/yyyy') 
  5                                 , to_date('10/2005','mm/yyyy') 
  6                                 ) + 1
  7  /

ADD_MONTH
---------
01-OCT-05
01-NOV-05
01-DEC-05

3 rows selected.
Exemplo: (de 09/2004 a 01/2006)

Selecionar tudo

SQL> select 
  2    add_months(trunc( TO_DATE('09/2004','MM/YYYY')  ,'mm'),rownum-1)
  3  from user_tables
  4  where rownum <= months_between ( to_date('01/2006','mm/yyyy') 
  5                                 , to_date('09/2004','mm/yyyy') 
  6                                 ) + 1
  7  /

ADD_MONTH
---------
01-SEP-04
01-OCT-04
01-NOV-04
01-DEC-04
01-JAN-05
01-FEB-05
01-MAR-05
01-APR-05
01-MAY-05
01-JUN-05
01-JUL-05
01-AUG-05
01-SEP-05
01-OCT-05
01-NOV-05
01-DEC-05
01-JAN-06

17 rows selected.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Bing [Bot], Majestic-12 [Bot] e 10 visitantes