CREATE Function [dbo].[udf_Elapsed] (@Date1 DateTime,@Date2 DateTime)
Returns Varchar(150)
As
Begin
Declare @sec int,@hour int,@minut int,@days int
SET @sec = DATEDIFF (SECOND,@Date1,@Date2)
Set @days = @sec/86400
Set @sec = @sec - (@days * 86400)
Set @hour = @sec/3600
Set @sec = @sec - (@hour * 3600)
Set @minut = @sec/60
Set @sec = @sec - (@minut * 60)
Return right(concat('000',@days),3)+':'+right(concat('00',@hour),2)+':'+right(concat('00',@minut),2)+':'+right(concat('00',@sec),2)
End
Select [dbo].[udf_Elapsed] ('2016-05-05 10:30','2016-05-05 15:59')
liefert 000:05:29:00 (days:hh:mm:ss)
Mögliche Duplikate von [SQL-Zeitdifferenz zwischen zwei Daten ergibt hh: mm: ss] (http://stackoverflow.com/questions/13577898/sql-time-difference-between-two-dates-result- in-hhmmss) –
5 min 29 Sekunden ist nicht wirklich 5,29 Minuten, es ist 5,48 Minuten –