duvida com sysdate

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
wilke
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 46
Registrado em: Sex, 23 Nov 2007 9:26 am
Localização: porto velho -ro

ola pessoal tem como trazer uma data do mês passado e do mês futuro
de acordo com o mês presente.
exemplo eu queria que a mostrasse assim


25/11/2009 mespassdo
25/12/2009 mesfuturo
sem precisar digitar nada
já trazendo na select
desde já eu agradeço pela ajuda. :cry:
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

Selecionar tudo

select sysdate-30, sysdate, sysdate+30 from dual
isso não funciona pois você tem que verificar o mês e definir se vai somar 30, 31 ou ate 28 e 29 (fevereiro)
burga
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Qui, 26 Nov 2009 1:05 pm
Localização: SP

Selecionar tudo

select add_months(sysdate, -1), sysdate, add_months(sysdate, 1) from dual;
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

Selecionar tudo

SELECT ADD_MONTHS(SYSDATE,1) FROM DUAL
achei isso para adicionar mas para retirar não achei =(
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

trabalhe com add_months

Selecionar tudo

select add_months(sysdate, -1) , sysdate, add_months(sysdate,+1)from dual
wilke
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 46
Registrado em: Sex, 23 Nov 2007 9:26 am
Localização: porto velho -ro

valeu pessoal vou tentar fazer
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Só tenha atenção com o comportamento abaixo do add_months.

Selecionar tudo

SQL> select add_months(to_date('28/02/2009', 'DD/MM/YYYY'), 1) from dual;

ADD_MONT
--------
31/03/09

SQL> 
É esperado sempre que o último dia dê no último dia do mês seguinte.
Responder
  • Informação