Em 11/10/11, Thiago<[email protected]> escreveu: > On 11/10/2011 09:41, Dickson S. Guedes wrote: >> Em 11 de outubro de 2011 09:39, Thiago<[email protected]> >> escreveu: >>> Pessoal, resolvi colocando a seguinte cláusula no where: >>> >>> (TO_CHAR(P.PES_DT_NASCIMENTO,'MM') = TO_CHAR(SYSDATE,'MM') AND >>> TO_CHAR(P.PES_DT_NASCIMENTO,'DD')>= TO_CHAR(SYSDATE,'DD')) OR >>> (TO_CHAR(P.PES_DT_NASCIMENTO,'MM') = >>> TO_CHAR(ADD_MONTHS(SYSDATE,1),'MM')) OR >>> (TO_CHAR(P.PES_DT_NASCIMENTO,'MM') = >>> TO_CHAR(ADD_MONTHS(SYSDATE,2),'MM')) >> >> Quase! Tente usar 'extract'! > > Consegui, aqui fica o SQL para que precisar: > > SELECT * > FROM ( > SELECT > P.PES_IN_CODIGO, > C.COL_IN_CODIGO, > P.PES_ST_NOME, > TO_CHAR(P.PES_DT_NASCIMENTO,'DD/MM') AS PES_ST_ANIV, > CASE > WHEN TO_CHAR(P.PES_DT_NASCIMENTO,'MM') < TO_CHAR(SYSDATE,'MM') > THEN TO_CHAR(ADD_MONTHS(SYSDATE,12),'YYYY') || > TO_CHAR(P.PES_DT_NASCIMENTO,'MMDD') > ELSE TO_CHAR(SYSDATE,'YYYY') || TO_CHAR(P.PES_DT_NASCIMENTO,'MMDD') > END AS PES_ST_ORDEM > FROM PESSOA P > LEFT JOIN COLABORADOR C ON P.PES_IN_CODIGO = C.PES_IN_CODIGO > WHERE > (TO_CHAR(P.PES_DT_NASCIMENTO,'MM') = TO_CHAR(SYSDATE,'MM') AND > TO_CHAR(P.PES_DT_NASCIMENTO,'DD') >= TO_CHAR(SYSDATE,'DD')) OR > (TO_CHAR(P.PES_DT_NASCIMENTO,'MM') = > TO_CHAR(ADD_MONTHS(SYSDATE,1),'MM')) OR > (TO_CHAR(P.PES_DT_NASCIMENTO,'MM') = > TO_CHAR(ADD_MONTHS(SYSDATE,2),'MM')) OR > (TO_CHAR(P.PES_DT_NASCIMENTO,'MM') = > TO_CHAR(ADD_MONTHS(SYSDATE,3),'MM')) > ) > ORDER BY PES_ST_ORDEM,PES_ST_NOME > > Tive que fazer com um subselect para poder ordenar da próxima data em > diante. > > Obrigado a todos pela ajuda! >
Tente algo do tipo: SELECT TO_DATE((CASE WHEN TO_CHAR(dt_nascimento, 'MMDD') < TO_CHAR(CURRENT_DATE, 'MMDD') THEN EXTRACT(year from CURRENT_DATE)+1 ELSE EXTRACT(year from CURRENT_DATE) END)::TEXT || TO_CHAR(dt_nascimento, 'MMDD'), 'YYYYMMDD') BETWEEN CURRENT_DATE AND (CURRENT_DATE+(INTERVAL '3 months')); Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
