miércoles, 17 de junio de 2015

Convertir segudos a Hora,Minutos Segundos en PL/SQL

Hoy escribo un rápido post para mostrar una función en PL/SQL muy básica que convierte un número entero que representa segundos a un formato de texto de la forma HH:MI:SS que es la forma en la que visualizamos la duración en muchas herramientas; por ejemplo 61 segundos sería escrito como 00:01:01 . Como siempre esta función puede ser reescrita en cualquier lenguaje de programación; sin más que agregar esta es la función:

CREATE OR REPLACE FUNCTION DURACION(SEG NUMBER) RETURN VARCHAR2 IS
  RESULTADO VARCHAR2(50);
  H VARCHAR2(2); --HORAS
  M VARCHAR(2); --MINUTOS
  S VARCHAR2(2); --SEGUNDOS
BEGIN
  H:=LPAD(TO_CHAR(FLOOR(SEG/3600)),2,0);
  M:=LPAD(TO_CHAR(FLOOR(SEG/60)-TO_NUMBER(H)*60),2,0);
  S:=LPAD(TO_CHAR(MOD(SEG,60)),2,0);
  RESULTADO:=H||':'||M||':'||S;
  RETURN RESULTADO;
END;/

No hay comentarios:

Publicar un comentario