SQL Server’da Zaman Değerlerini Toplamak

Herkese merhaba,

Bu yazıda SQL Server’da zaman değerlerinin nasıl toplanabileceğinden bahsedeceğim.

SQL Server’da bazı durumlarda zaman değerlerini toplatmak ya da gruplayarak toplatmak isteyebiliriz. Ben işlemlerimi temp tablo kullanarak yaptım. Siz normal tablolarınızda da uygulayabilirsiniz.

Aşağıdaki kod yardımıyla siz de bu işlemleri rahatlıkla yapabilirsiniz.

IF OBJECT_ID('tempdb..#ZamanTablosu', 'U') IS NOT NULL
BEGIN
    DROP TABLE #ZamanTablosu;
END;

--Tablonun oluşturulması

CREATE TABLE #ZamanTablosu
(
    id INT,
    Zaman TIME(0)
);

--Tabloya veri eklenmesi

INSERT INTO #ZamanTablosu
VALUES
(1, '00:00:10');

INSERT INTO #ZamanTablosu
VALUES
(1, '00:14:00');

INSERT INTO #ZamanTablosu
VALUES
(2, '00:00:10');

INSERT INTO #ZamanTablosu
VALUES
(2, '00:35:10');

--Zamanların toplanması

SELECT id,
       CAST(DATEADD(MILLISECOND, SUM(DATEDIFF(MILLISECOND, 0, CAST(Zaman AS DATETIME))), 0) AS TIME(0)) AS ToplamZaman
FROM #ZamanTablosu
GROUP BY id;

Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.

SQL Server'da Zaman Değerlerini Toplamak

Görüldüğü üzere zaman değerleri id’ye göre gruplanarak toplanmış oldu. Bu işlemi şöyle düşünürsek her bir kullanıcının bir iş için harcadığı zaman, her bir kullanıcının satış için yaptığı görüşme süresi vb. gibi örnekler çoğaltılabilir.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

630 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!