SQL Server’da Seçili Ay ve Yıldaki Tüm Günleri Listeleyen Prosedür
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.
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.