Constancia icon

SQL_FUNC_TEMPO

Constancia | PRO | 11/28/14 12:31:59 PM UTC | 0 ⭐ | 156 👁️ | Never ⏰ | []
PL/SQL |

1.23 KB

|

None

|

0 👍

/

0 👎

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