Esta função retorna a quantidade de dias, horas e minutos a partir de uma quantidade de minutos(um valor inteiro), por exemplo se passarmos como parâmetro o valor 1500 receberemos de resultado "1d 1h 50m".
Para testarmos a função abaixo usamos a seguinte sintaxe:
SELECT [dbo].[IntToDayHourminute](1550)
Criando a função "IntToDayHourminute".
USE [meu_banco]
GO
/****** Object: UserDefinedFunction [dbo].[IntToDayHourminute] Script Date: 11/02/2015 21:00:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[IntToDayHourminute]
(
@Total int
)
RETURNS nvarchar(30)
AS
BEGIN
declare @Return nvarchar(20)
declare @Minuto int
declare @Hora int
declare @Dia int
set @Dia = case when @Total < 1440 then
0
else
(@Total / 1440)
end;
set @Total = case when @Dia = 0 then
@Total
else
@Total - (@Dia * 1440)
end;
set @Hora = case when @Total < 60 then
0
else
(@Total / 60)
end;
set @Total = case when @Hora = 0 then
@Total
else
@Total - (@hora * 60)
end;
set @Minuto = @Total
set @Return = cast(@dia as varchar(20)) + 'd ' + cast(@Hora as varchar(20)) + 'h ' + cast(@Minuto as varchar(20)) +'m'
return @Return
END
Nenhum comentário:
Postar um comentário