Mejorando esta funcion, obtuve otra que solo me devuelve el resultado correspondiente pero sin signo, habra q determinar cual de los operandos es mayor para determinar el signo y ya esta......
aca expongo mi funcion mejorada para restar horas en formato tiempo:
Código:
USE [mibd]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[DIFFTIME](@HoraFin as time,@HoraInicio as time)
RETURNS time AS
BEGIN
DECLARE
@sols int,@tsolucion time
SET @sols=DATEDIFF(SECOND,@HoraInicio,@HoraFin)--diferencia en seg
IF(@sols<0) SET @sols=ABS(@sols)
SET @tsolucion=convert(time,dateadd(SECOND,@sols,0))
RETURN @tsolucion
END
espero les sea de utilidad