Veja como eu pego a data e hora do sistema

select
to_char(statement_timestamp(),'DD/MM/YYYY') as data_sys,
to_char(statement_timestamp(),'HH24:MI:SS') as hora_sys

Dessa forma eu tenho a hora em Hora: Minuto: Segundo
caso queira retirar os segundos é só tirar o ":SS"

Agora se quiser pegar a hora formatada de um campo veja:

select to_char(hora_cad, 'HH24:MM:SS') as hora from clientes

Sem milesegundos


Marcelo Silva
------------------------------------------------
msn: marc...@ig.com.br
Tel.: (11) 2962-7390
Cel.: (11) 9693-4251

Programador: Delphi, PHP
Linux Kubuntu User number is # 24362





----- Original Message ----- 
From: "Osvaldo Kussama" <osvaldo.kuss...@gmail.com>
To: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br>
Sent: Tuesday, December 14, 2010 1:09 PM
Subject: Re: [pgbr-geral] desconsiderar miliseg


Em 14/12/10, Beto Lima<betol...@gmail.com> escreveu:
> Osvaldo assim:
> na primeira linha tenho salvo assim no campo data_inicio_questao:
> 2010-12-13 18:26:14.567512
> e data_fim_questao = 2010-12-13 18:26:19.127048
>
> na segunda linha no campo data_inicio_questao: 2010-12-13 18:26:20.807555
> e data_fim_questao = 2010-12-13 18:26:22.788496
>
> somando:
> SELECT sum(data_fim_questao - data_inicio_questao)  FROM 
> tempo_duracao_prova
>     WHERE id_func_inc = 1 AND id_agenda = 2
>
> resultado: 00:00:06.540477
> é neste resultado que gostaria que fosse 5seg apenas entende.
>
> Então tentei assim:
>
> SELECT sum(date_trunc('second', data_fim_questao) -
> date_trunc('second', data_inicio_questao)) FROM tempo_duracao_prova
> WHERE id_func_inc = 1 AND id_agenda = 2
>
> me retornou: 00:00:07
>
> acredito que deu 7 por causa de considerar os miliseg. também.
> _______________________________________________


Da maneira como fez você desconsidera os milisegundos antes de efetuar
as operações (diferença e somatório):
2010-12-13 18:26:19 - 2010-12-13 18:26:14 ==> 00:00:05
2010-12-13 18:26:22 - 2010-12-13 18:26:20 ==> 00:00:02

Pela sua descrição dá a entender que você deseja fazer o truncamento
apenas no final, neste caso use:
date_trunc('second',sum(data_fim_questao - data_inicio_questao))

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a