[firebase-br] RES: RES: RES: Converter segundos em HH:MM:SS
Wilson Mota - GMail
wmotasjrp em gmail.com
Ter Ago 10 10:06:10 -03 2010
Ola Zottis, obrigado pela atenção.
Estou debugando a SP e tem uma parte no código
"Hrs = cast(secs / 3600 as integer);" que traz o valor arredondado para
cima.
Substituindo o teu código pelo select você pode ver que traz o 49 quando
teria que ser 48 , teria
que pegar a parte inteira da divisão.
select cast(175523 / 3600 as integer)
from rdb$database
[]s
Wilson
----- Original Message -----
From: "Zottis" <bzottis em ig.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Tuesday, August 10, 2010 8:29 AM
Subject: [firebase-br] RES: RES: RES: Converter segundos em HH:MM:SS
Oi Wilson, ontem mandei uma procedure que fiz, mas como fiz correndo não me
detalhei muito, acho que está esta mais completa, pelo menos não achei erros
nos testes aqui.
Espero que ajude.
SET TERM ^ ;
CREATE OR ALTER PROCEDURE SP_SEGSTOHMS (
secs bigint)
returns (
hora varchar(10))
as
declare variable hrs integer;
declare variable minut integer;
declare variable hr_str varchar(2);
declare variable min_str varchar(2);
declare variable seg_str varchar(2);
begin
if (secs > 0) then
begin
Hrs = cast(secs / 3600 as integer);
if (hrs < 10) then
begin
hr_str = '0' || HRS;
end else
if (hrs >= 10) then
begin
hr_str = HRS;
end
secs = secs -(hrs * 3600);
minut = secs / 60;
if (minut = 0) then
bEGIN
min_str = '00';
seg_str = '00';
END ELSE
if (minut between 1 and 9) then
bEGIN
min_str = '0' || minut;
seg_str = '00';
END ELSE
if (minut between 11 and 59) then
bEGIN
min_str = minut;
seg_str = '00';
END
secs = secs -(minut * 60);
if (SECS < 10) then
bEGIN
seg_str = '0' || SECS;
END ELSE
if (SECS > 10) then
bEGIN
seg_str = SECS;
END
HORA = hr_str || ':' || min_str || ':' || seg_str;
end else
HORA = '00:00:00';
suspend;
end^
SET TERM ; ^
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista