SQL Server’da Tarihler Arasındaki Farkı Gün, Saat, Dakika ve Saniye Olarak Görüntüleyen Fonksiyon
Herkese merhaba,
Bu yazıda SQL Server’da tarihler arasındaki farkı gün, saat, dakika ve saniye olarak görüntüleyen fonksiyon ile ilgili bilgi vermeye çalışacağım.
SQL Server’da bazı durumlarda tarihler arasındaki farkı gün, saat, dakika ve saniye olarak görüntülemek isteyebilirsiniz.
Aşağıdaki fonksiyonu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.
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');
Yukarıdaki fonksiyonu oluşturup çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.
Görüldüğü üzere tarihler arasındaki farkı gün, saat, dakika ve saniye olarak görüntülemiş olduk.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.