CREATE FUNCTION [dbo].[TEMPO] (@FECHA1 DATETIME,@FECHA2 DATETIME)
RETURNS CHAR(8)
AS
BEGIN
/*
DECLARE @FECHA1 DATETIME
DECLARE @FECHA2 DATETIME
DECLARE @sTEMPO CHAR(8)
SELECT @FECHA1 = CONVERT(DATETIME,'28/11/2014 10:01:40')
SELECT @FECHA2 = CONVERT(DATETIME,'28/11/2014 11:08:05')
SELECT @sTEMPO = dbo.TEMPO(@FECHA1,@FECHA2)
PRINT @sTEMPO
*/
DECLARE @HORAS CHAR(2),@MINUTOS CHAR(2),@SEGUNDOS CHAR(2)
DECLARE @nHORAS INT,@nMINUTOS INT,@nSEGUNDOS INT
DECLARE @CadTempo CHAR(8)
SELECT @nSEGUNDOS = DATEDIFF(ss,@FECHA1,@FECHA2)
--PRINT '@nSEGUNDOS : ' + CONVERT(VARCHAR,@nSEGUNDOS)
SELECT @nHORAS = @nSEGUNDOS /3600
SELECT @HORAS = RIGHT('0' + CONVERT(VARCHAR,@nHORAS),2) + ':'
--PRINT '@HORAS : ' + @HORAS
SELECT @nSEGUNDOS = @nSEGUNDOS -(@nHORAS*3600)
--PRINT '@nSEGUNDOS : ' + CONVERT(VARCHAR,@nSEGUNDOS)
SELECT @nMINUTOS = @nSEGUNDOS/60
SELECT @MINUTOS = RIGHT('0' + CONVERT(VARCHAR,@nMINUTOS),2)
--PRINT '@MINUTOS : ' + @MINUTOS
SELECT @nSEGUNDOS = @nSEGUNDOS -(@nMINUTOS*60)
SELECT @SEGUNDOS = RIGHT('0' + CONVERT(VARCHAR,@nSEGUNDOS),2)
--PRINT '@SEGUNDOS : ' + @SEGUNDOS
SELECT @CadTempo = @HORAS +':'+ @MINUTOS +':'+ @SEGUNDOS
--PRINT '@CadTempo : ' + @CadTempo
RETURN @CadTempo
END
Comments