Pessoal,
Preciso de um help para criar uma função, para retornar qual o dia do primeiro domingo do mês seguinte.
Posso passar como parametro na função o último dia do mês para facilitar o desenvolvimento.
Minha idéia é subtrair o valor 8 do dia da semana correspondente do último dia do mês atual.
Por exemplo dia 30/04/2008 é 4, portanto
vou somar 4 ao dia 30/04/2008, o que me retornaria dia 04/05/2008.
alguém tem outra solução para este problema?
Função para Retornar o primeiro Domingo do Mês seguinte
-
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Sex, 30 Mar 2007 7:26 pm
- Localização: Londrina - PR
Rafael O. Genaro
Já que está no fórum SQL (:P), uma solução seria usar as funções ADD_MONTHS e TO_CHAR com uma lookup table para obter o primeiro domingo, algo do tipo:
ou também seguindo o seu raciocínio:
select pdia
from (
select trunc(add_months(sysdate, 1), 'MM') + b.inc pdia
from dual a
, (
select level-1 inc
from dual
connect by level <= 7
) b
)
where to_char(pdia, 'D') = '1'
select trunc(add_months(sysdate, 1), 'MM')
+ mod((8 - to_number(to_char(trunc(add_months(sysdate, 1), 'MM'), 'D'))),7)
from dual
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 23 visitantes