SQL Server’da Tarihler Arasındaki Farkı Gün, Saat, Dakika ve Saniye Olarak Görüntüleyen Fonksiyon

Herkese merhaba,

Bu kısımda SQL Server’da tarihler arasındaki farkı gün, saat, dakika ve saniye olarak görüntüleyen fonksiyon kodları olacak.

CREATE FUNCTION dbo.ZamanFarkiBulanFonksiyon(
@Tarih1 Datetime, 
@Tarih2 Datetime 
)
RETURNS VARCHAR(MAX)
AS 
BEGIN
DECLARE @cikis VARCHAR(100)
DECLARE @saniye BIGINT

SET @saniye = ( SELECT datediff(SECOND,@Tarih1, @Tarih2) )
SET @saniye = ISNULL(@saniye, 0)
SET @cikis ='0d 00:00:00'

IF (@saniye < 0)
RETURN @cikis

SET @cikis = CONVERT(VARCHAR, FLOOR(@saniye / 86400) ) + 'd ' 
SET @saniye = @saniye % 86400
SET @cikis = @cikis + Right('0'+ CONVERT(VARCHAR, FLOOR(@saniye / 3600)),2) + ':' 
SET @saniye = @saniye % 3600
SET @cikis = @cikis + Right('0'+ CONVERT(VARCHAR, FLOOR(@saniye / 60)),2) + ':' 
SET @cikis = @cikis + Right('0'+ CONVERT(VARCHAR, @saniye % 60),2) 

-------------
RETURN @cikis
-------------
END


--Çalıştırılması

SELECT dbo.ZamanFarkiBulanFonksiyon('2017-10-03 00:00:00', '2017-10-12 00:00:00')

SELECT dbo.ZamanFarkiBulanFonksiyon('2017-10-05 07:30:00', '2017-10-05 07:55:00')

SELECT dbo.ZamanFarkiBulanFonksiyon('2017-09-01 01:46:00', '2017-09-01 10:55:00')

SELECT dbo.ZamanFarkiBulanFonksiyon('2017-11-21 08:21:00', '2017-12-06 18:00:00')

SQL Server Eğitimleri Kanalına Abone Olun

Şunlar makaleler de hoşunuza gidebilir