Herkese merhaba,

Bu yazıda SQL Server’da seçili ay ve yıldaki tüm günleri listeleyen prosedür hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda seçili ay ve yıla ait tüm günlerin listelenmesini isteyebiliriz.

Aşağıdaki prosedürü kullanarak bu işlemi kolaylıkla yapabilirsiniz.

CREATE PROC AydakiTumGunleriGetir
    @Aybilgisi TINYINT,
    @YilBilgisi INT
AS
BEGIN
    -- SET LANGUAGE TURKISH -- Ay bilgisi Türkçe gelsin istiyorsanız
    DECLARE @BaslangicTarihi DATETIME
        = CAST(CAST(@YilBilgisi AS CHAR(4)) + RIGHT('0' + CAST(@Aybilgisi AS VARCHAR(2)), 2) + '01' AS DATETIME);
    DECLARE @BitisTarihi DATETIME = DATEADD(MONTH, 1, @BaslangicTarihi);
    WITH mycte
    AS (SELECT @BaslangicTarihi AS dt
        UNION ALL
        SELECT dt + 1
        FROM mycte
        WHERE dt + 1 < @BitisTarihi)
    SELECT REPLACE(CONVERT(CHAR(11), dt, 106), ' ', '-') AS [Günler]
    FROM mycte;
END;

--Kullanımı
EXEC dbo.AydakiTumGunleriGetir @Aybilgisi = 10,    -- tinyint 
                               @YilBilgisi = 2016; -- int

Prosedürü oluşturup örnek kullanımı çalıştırdığınızda aşağıdaki sonucu alacaksınız.

SQL Server’da Seçili Ay ve Yıldaki Tüm Günleri Listeleyen Prosedür

Görüldüğü üzere seçilen ay ve yıla ait tüm günler listelenmiş oldu.

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

403 Kez Okundu

Kategoriler: