Thiago

Boa pergunta a tua. É necessário colocar algumas validações a mais
para validar o ano bissexto. Agora isto tudo é uma convenção que vc
coloca no teu codigo que é validar o quem tem nasceu em ano bissexto e
mudar a data de aniversario dele para um dia antes ou depois ou tratar
no teu relatorio.

Sugestão de função para detectar bissextos em oracle:

create or replace function IS_LEAP_YEAR (nYr in number) return boolean is
v_day varchar2(2);
begin
  select to_char(last_day(to_date( '01-FEB-'|| to_char(nYr),
'DD-MON-YYYY')), 'DD') into v_day from dual;
  if v_day = '29' then -- if v_day = 29 then it must be a leap year,
return TRUE
    return TRUE;
  else
    return FALSE;  -- otherwise year is not a leap year, return false
  end if;
end;

fonte: http://www.dba-oracle.com/t_detect_leap_year_function.htm

Agora estou começando com o postgresql e quero ver como fazer isto em
postgresql. Fiquei curioso.

Att.


--
Claudio da Silva Junior
[email protected]



Em 11 de outubro de 2011 09:16, Thiago <[email protected]> escreveu:
>> Thiago
>>
>> Você sabe a data de nascimento, então a data de aniversário dele neste
>> ano será o dia e mês do aniversario mais o ano atual.
>>
>> Um exemplo de como obter isto em oracle seria o abaixo:
>>
>> SELECT *
>>    FROM tabela
>>   WHERE dt_nascimento BETWEEN
>>         to_date(to_char(dt_nascimento, 'ddmm') || to_char(SYSDATE, 'yyyy'),
>>                 'ddmmyyyy') AND add_months(SYSDATE, 3);
>>
>> Não sei te confirmar se esta ok, pois não testei, mas é uma sugestão.
>>
>> Att.
>>
>
> Cláudio,
>
> Eu tentei fazer dessa forma, porém tem um bendito camarada que nasceu em
> ano bissexto, nesse caso como 2011 o mês de fevereiro não vai até o dia
> 29 está dando erro na conversão.
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a