25/04/2012, 06:06
|
| | Fecha de Ingreso: septiembre-2008
Mensajes: 31
Antigüedad: 16 años, 4 meses Puntos: 1 | |
Función SQL para transformar segundos en horas,minutos y segundos Buenas quería comenzar con este aporte con los que pienso hacer en el transcurso de las próximas conexiones ,para así devolver de algún modo lo que Internet me ha dado. Muchas Gracias y un Saludo.
Código:
--Función para pasar segundos a (horas,minutos y segundos en 2 formatos)
CREATE FUNCTION myfn_sla_get_format_HMS
(
@segundos INT,
@type varchar(max) -- Forma en la que se va a transformar
) -- 1: Formato String x horas x minutos x segundos
-- 2: Formato Number HH:MM:SS
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @temp VARCHAR(100)
DECLARE @horas INT
DECLARE @minutos INT
DECLARE @tempMINUTOS INT
SET @temp ='...'
IF (@segundos < 3600) BEGIN
SET @minutos = @minutos / 60
SET @segundos = @minutos % 60
--Según el tipo recibido lo formateo de una forma u otra
IF @type = 1
SET @temp = '0 Horas ' + CONVERT(VARCHAR, @minutos) + ' Minutos ' + CONVERT(VARCHAR, @segundos) + ' Segundos'
ELSE
SET @temp = '00:' + CONVERT(VARCHAR, @minutos) + ':' + CONVERT(VARCHAR, @segundos)
END ELSE
BEGIN
SET @horas = @segundos / 3600
SET @tempMINUTOS = @segundos % 3600
SET @minutos = @tempMINUTOS / 60 --MINUTOS FINALES
SET @segundos = @tempMINUTOS % 60
--Según el tipo recibido lo formateo de una forma u otra
IF @type = 1
SET @temp = CONVERT(VARCHAR, @horas) + ' Horas ' + CONVERT(VARCHAR, @minutos) + ' Minutos ' + CONVERT(VARCHAR, @segundos) + ' Segundos'
ELSE
SET @temp = CONVERT(VARCHAR, @horas) + ':' + CONVERT(VARCHAR, @minutos) + ':' + CONVERT(VARCHAR, @segundos)
END
RETURN @temp
END
--Llamada a la función
DECLARE @format varchar(255)
SET @format = (SELECT dbo.myfn_sla_get_format_HMS(8500,1))
PRINT @format
|