[firebase-br] RES: RES: Converter segundos em HH:MM:SS

Reinaldo diasmartins em gmail.com
Sex Ago 6 16:15:38 -03 2010


Tenta essa procedure amigo.

SET TERM ^ ;

create or alter procedure PRC_SEGUNDOS (
     P_SEGUNDOS integer)
returns (
     RET_HORAS varchar(10))
as
declare variable HORAS integer;
declare variable MINUTOS integer;
declare variable SEGUNDOS integer;
declare variable AUXILIAR numeric(18,10);
declare variable AUX_HOR numeric(10,6);
declare variable AUX_MIN numeric(10,6);
declare variable AUX_SEG numeric(10,6);
begin
   auxiliar = cast(p_segundos as Numeric(18, 10));  /* Permite trabalhar 
com as Frações */
   aux_hor  = auxiliar / 3600;
   horas    = cast(cast(aux_hor as varchar(30))as integer);
   aux_min  = (aux_hor - horas) * 60;
   minutos  = cast(cast(aux_min as varchar(30))as integer);
   aux_seg  = (aux_min - minutos) * 60;
   segundos = cast(cast(aux_seg as varchar(30))as integer);
   ret_horas = cast(horas as varchar(04)) || ':' || cast(minutos as 
varchar(02)) || ':' || cast(segundos as varchar(02));
   suspend;
end^

SET TERM ; ^


Em 06/08/2010 14:33, Wilson Mota - GMail escreveu:
> Obrigado, qdo tiver a solução em Stored Procedure, reporto a vocês.
> Obrigado
> Wilson
>
> ----- Original Message ----- From: "UNIBRAS - PROGRAMAÇÃO"
> <programacao-ha0WqbVhtsVY7rEOWxXFXaOqBt32l0WsCHSie7aZMj4 em public.gmane.org>
> To: "'FireBase'" <lista-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org>
> Sent: Friday, August 06, 2010 11:52 AM
> Subject: [firebase-br] RES: RES: Converter segundos em HH:MM:SS
>
>
> Para pegar inteiro e fração o delphi tem funções div e mod repectivamente.
>
> Abcs,
>
> José
>
> -----Mensagem original-----
> De: lista-bounces-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org
> [mailto:lista-bounces-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org] Em
> nome de Wilson Mota - GMail
> Enviada em: sexta-feira, 6 de agosto de 2010 11:17
> Para: hpensador-Re5JQEeQqe8AvxtiuMwx3w em public.gmane.org; FireBase
> Assunto: Re: [firebase-br] RES: Converter segundos em HH:MM:SS
>
> Deixa eu explicar, tenho uma tabela de produtos onde gravo o tempo
> utilizado
> para sua produção, é um campo Integer chamado (Tempo_em_Segundos ) O
> usuario
> informa HHH:MM:SS, pois pode demorar mais que 24 horas para ser produzido,
> portanto se demorar 2 dias, 45 minutos e 23 segundos ele informa 48:45:23.
> Esse tempo eu gravo no banco em segundos que ficaria 175523 segundos.
> Vou usar esse campo tambem para trazer uma somatoria de produtos da mesma
> familia (sum(tempo_em_segundos) e também mostra-lo individualmente, porém
> preciso mostrar no formato HH:MM:SS.
> Ex: Produto 01 48:45:23.
> Para isso preciso criar uma procedure onde:
> 175523/3600 = 48,75638..... (48 horas)
> 0,75638....*60 = 45.383333 ... (45 Minutos) 0,3833... * 60 = 23 (segundos)
> A questão é como pegar o inteiro e a fração.
> Obrigado.
>
> Wilson
>
>
>
>
> ----- Original Message -----
> From: "Hélio Oliveira" <hpensador-Re5JQEeQqe8AvxtiuMwx3w em public.gmane.org>
> To: <lista-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org>
> Sent: Friday, August 06, 2010 9:10 AM
> Subject: Re: [firebase-br] RES: Converter segundos em HH:MM:SS
>
>
> Bom dia Wilson!
>
> extract( hour/min/milisecond ).... enfim
>





Mais detalhes sobre a lista de discussão lista