Em 18/04/12, jorge sanfelice<[email protected]> escreveu:
> Ola Amigos,
>
> Problema resolvido do seguinte modo:
>
> SELECT
> (deldatapacote -  (deldt_intervalo|| ' SECOND')::interval ) as dt_entrada,
> from delta
> where ...;
>
>
> Obrigado
>
>
> Em 18 de abril de 2012 11:28, Osvaldo Kussama
> <[email protected]>escreveu:
>
>> Em 18/04/12, Osvaldo Kussama<[email protected]> escreveu:
>> > Em 18/04/12, jorge sanfelice<[email protected]> escreveu:
>> >> Ola Pessoal,
>> >> Preciso de uma ajuda com as seguintes query:
>> >>
>> >> Query 1:
>> >>
>> >> SELECT veiculo,deldatapacote,deldt_intervalo,
>> >> (deldatapacote - interval 'deldt_intervalo sec') as inicio
>> >> from delta where deldatapacote > '2012-04-10 00:00:00' and
>> >> deldatapacote
>> >> <
>> >> '2012-04-17 23:59:59' and delveioid = 475435 and delmotooid = 1111;
>> >> ERRO:  sintaxe de entrada é inválida para tipo interval:
>> "deldt_intervalo
>> >> sec"
>> >> LINHA 1: ...pacote,deldt_intervalo, (deldatapacote - interval
>> >> 'deldt_int...
>> >>
>> >>
>> >> Query 2:
>> >> SELECT extract(EPOCH FROM TIMESTAMP WITH TIME ZONE deldatapacote) as
>> >> seg
>> >> from  delta
>> >> where deldatapacote > '2012-04-01 00:00:00' and deldatapacote <
>> >> '2012-04-05
>> >> 23:59:59'
>> >> and delveioid = 521054 and delmotooid =148 limit 2;
>> >>
>> >> ERRO:  erro de sintaxe em ou próximo a "deldatapacote"
>> >> LINE 1: ...ELECT extract(EPOCH FROM TIMESTAMP WITH TIME ZONE
>> >> deldatapac...
>> >>
>> >>
>> >> QUERY 1: Eu preciso executar uma  query que pegue uma coluna timestamp
>> da
>> >> tabela e subtraia dessa data os segundos referentes a outa coluna da
>> >> tabela. Essa conversao precisa ser feita no SQL mesmo.
>> >>
>> >> QUERY 2: Extrair o valor em segundos de uma coluna timestamp da query.
>> >>
>> >> Teoricamente os comandos estao certo, porem, estou cometendo um erro de
>> >> sintaxe que nao consigo identificar.
>> >>
>> >> Alguem poderia me ajudar?
>> >>
>> >> Obrigado.
>> >>
>> >
>> > Supondo que deldt_intervalo seja uma variável contendo a quantidade de
>> > segundos, use:
>> >
>> > (deldatapacote - deldt_intervalo * interval '1 sec') as inicio
>> >
>>
>>
>>
>> Corrigindo:
>>
>> (deldatapacote - deldt_intervalo * interval '1 second') as inicio
>>


Você não informou qual versão do PostgreSQL está utilizando nem os
tipos dos dados envolvidos.

Dependendo da versão e dos tipos de dados sua solução pode apresentar erro.

Veja:
"E.43.2. Migration to Version 8.3" em:
http://www.postgresql.org/docs/current/interactive/release-8-3.html

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a