SQL Server’da Belli Bir Tarih Aralığı İçinde Olan Ayların Gün Sayısını Bulmak

Herkese merhaba,

Bu yazıda SQL Server’da belli bir tarih aralığı içinde olan ayların gün sayısını bulmak ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda belli bir tarih aralığı içinde olan ayların gün sayısını bulmak isteyebilirsiniz.

Aşağıdaki kodu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

DECLARE @baslamatarihi DATE = '2022-07-10';
DECLARE @bitistarihi DATE = '2022-09-10';
WITH sorgu
AS (SELECT DATEFROMPARTS(YEAR(@baslamatarihi), MONTH(@baslamatarihi), 1) ay_baslangic_gunu,
           1 - DAY(@baslamatarihi) + DAY(   CASE
                                                WHEN @bitistarihi > EOMONTH(@baslamatarihi) THEN
                                                    EOMONTH(@baslamatarihi)
                                                ELSE
                                                    @bitistarihi
                                            END
                                        ) AS gun_sayisi
    UNION ALL
    SELECT DATEADD(MONTH, 1, ay_baslangic_gunu),
           CASE
               WHEN @bitistarihi > DATEADD(MONTH, 2, ay_baslangic_gunu) THEN
                   DAY(EOMONTH(DATEADD(MONTH, 1, ay_baslangic_gunu)))
               ELSE
                   DAY(@bitistarihi)
           END
    FROM sorgu
    WHERE DATEADD(MONTH, 1, ay_baslangic_gunu) <= @bitistarihi)
SELECT *
FROM sorgu;

Yukarıdaki kodu çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.

SQL Server'da Belli Bir Tarih Aralığı İçinde Olan Ayların Gün Sayısını Bulmak

Görüldüğü üzere belli bir tarih aralığı içinde olan ayların gün sayısını bulmuş olduk.

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

151 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!