On 11/10/2011 09:41, Dickson S. Guedes wrote: > Em 11 de outubro de 2011 09:39, Thiago<zan...@farmaponte.com.br> 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! _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral