Olá, Newton

Você pode fazer assim:

select data from tabela where to_char(data,'DD/MM/YYYY')='19-06-2008';

Mais informações em:

http://www.postgresql.org/docs/8.3/interactive/functions-formatting.html
http://www.postgresql.org/docs/8.3/interactive/functions-datetime.html

[]s

2008/6/17 Newton Teixeira do Nascimento Júnior <[EMAIL PROTECTED]>:

>  Olá comunidade. Estou desenvolvendo uma função que recebe dois
> parâmetros: nome da estação (que é uma sigla) e a data do relatório.
>
> Preciso comparar uma data selecionada pelo usuário (no formato dd/mm/yyyy)
> com a data que está na tabela "pas_r" no formato "timestamp with time zone"
>
> (ex: "2008-04-14 16:32:18-03"). Tentei rodar a função, mas plpgsql não
> aceitou a sintaxe.
>
>
>
> PROBLEMA:
>
>
>
> - Minha função não roda; já fica no parse da sintaxe. O que está errado?
> Como corrigir? Existe uma forma melhor?
>
>
>
> DÚVIDAS:
>
>
>
> - Como faço para extrair apenas a data do formato "timestamp with time
> zone" ? Ou a única forma é fazer como estou tentando fazer (ex: EXTRACT(DAY
> FROM TIMESTAMP WITH TIME ZONE record2."bh_dthr_ini") = dia)
>
>
>
> - Como faço para comparar datas? Em qual formato devo fazer isso, pois o
> usuário entra com a data dd/mm/yyyy e data na "pas_r" está formato
> yyyy-mm-dd. Qual é a melhor forma de comparar essas informações caso eu
> consiga extrair a data de record2."bh_dthr_ini".
>
>
>
>
>
> Pesquisei na lista e procurei na doc, porém não consegui resolver. Peço
> ajuda da comunidade, pois estou começando a usar esse SGBD.
>
> No aguardo online e agradeço pela atenção.
>
> http://www.postgresql.org/docs/8.2/interactive/functions-datetime.html
>
> http://www.postgresql.org/docs/8.2/interactive/functions-formatting.html
>
>
>
>
>
> CREATE OR REPLACE FUNCTION aux(character, date)
>
>   RETURNS integer AS
>
> $BODY$
>
>
>
> DECLARE
>
> record1 RECORD;
>
> record2 RECORD;
>
> subestacao ALIAS FOR $1;
>
> data ALIAS FOR $2;
>
>
>
> dia float;
>
> mes float;
>
> ano float;
>
>
>
> BEGIN
>
>
>
> dia := 17;
>
> mes := 6;
>
> ano := 2008;
>
> --dia := FUNCAO_PARA_EXTRAIR_DIA_DE_DATA();
>
> --mes := FUNCAO_PARA_EXTRAIR_MES_DE_DATA();
>
> --ano := FUNCAO_PARA_EXTRAIR_ANO_DE_DATA();
>
>
>
> FOR record1 IN SELECT * FROM "subest-equi" LOOP
>
>
>
>             FOR record2 IN SELECT * FROM "pas_r" WHERE id =
> record1."id-equip" AND
>
>                         EXTRACT(DAY FROM TIMESTAMP WITH TIME ZONE
> record2."bh_dthr_ini") = dia AND
>
>                         EXTRACT(MONTH FROM TIMESTAMP WITH TIME ZONE
> record2."bh_dthr_ini") = mes AND
>
>                         EXTRACT(YEAR FROM TIMESTAMP WITH TIME ZONE
> record2."bh_dthr_ini")  = ano LOOP
>
>
>
>                         RAISE NOTICE 'Saida %',record2."id";
>
>
>
>             END LOOP;
>
>
>
> END LOOP;
>
>
>
> RETURN 1;
>
> END;
>
>
>
> $BODY$
>
>   LANGUAGE 'plpgsql' VOLATILE;
>
> ALTER FUNCTION aux(character, date) OWNER TO postgres;
>
>
>
>
>
> CREATE TABLE "subest-equi"
>
> (
>
>   "subest-nome" character varying(10) NOT NULL,
>
>   "id-equip" character varying(20) NOT NULL,
>
>   "nome-equip" character varying(20) NOT NULL,
>
>   flag bit(1),
>
>   CONSTRAINT "primary-key" PRIMARY KEY ("subest-nome", "id-equip")
>
> )
>
> WITH (OIDS=FALSE);
>
> ALTER TABLE "subest-equi" OWNER TO sage;
>
>
>
> CREATE TABLE pas_r
>
> (
>
>   bh_dthr_ini timestamp with time zone,
>
>   bh_dthr_fim timestamp with time zone,
>
>   bh_sinonimo integer,
>
>   bh_chave integer,
>
>   bh_indtr integer,
>
>   eqp character(18),
>
>   estacao character(12),
>
>   histper smallint,
>
>   id character(24),
>
>   nome character(42),
>
>   tac character(12),
>
>   tipoe smallint,
>
>   tpeqp smallint
>
> )
>
> WITH (OIDS=FALSE)
>
> TABLESPACE sagebhref;
>
> ALTER TABLE pas_r OWNER TO sage;
>
>
>
>
>
> *Newton Teixeira do Nascimento Junior*
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a