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

Zottis bzottis em ig.com.br
Ter Ago 10 08:29:44 -03 2010


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 ; ^





Mais detalhes sobre a lista de discussão lista