De acuerdo con Libras... toda esa funcionalidad ya esta codificada y probada en la funcion DATEDIFF...
solo hay que utilizarla de la forma que mejor nos convenga.. por ejemplo..
Código:
CREATE FUNCTION [dbo].[HoraInicialint2](
@FISAP DATETIME
,@FFSAP DATETIME
)
RETURNS NVARCHAR(10)
AS
BEGIN
RETURN CAST(CAST((DATEDIFF(MINUTE,0, @FFSAP) -
DATEDIFF(MINUTE,0, @FISAP))/60.00 AS DECIMAL(9,6)) AS VARCHAR)
END
GO
SELECT dbo.[HORAINICIALINT2]('20120712 12:40', '20120712 16:00') [DIFERENCIA EN HRAS]
SELECT dbo.[HORAINICIALINT2]('20120712 12:40', '20120712 16:10') [DIFERENCIA EN HRAS]
SELECT dbo.[HORAINICIALINT2]('20120710 12:40', '20120712 16:00') [DIFERENCIA EN HRAS]
--
Y el resultado:
Código:
DIFERENCIA EN HRAS
------------------
3.333333
DIFERENCIA EN HRAS
------------------
3.500000
DIFERENCIA EN HRAS
------------------
51.333333
Saludos!