SQL Dönem Getiren Kullanıcı Tanımlı Fonksiyon
10.03.2023
418 defa okundu
İçinde bulunulan aydan itibaren ay adı ve yılı (Ocak 2023) gibi dinamik 12 aylık veya belli sayıda gelecek dönemler için bir veri seti gerekli olması halinde aşağıdaki gibi kullanıcı tanımlı tablo değer dönen bir sql fonkiyonu hazırlanabilir.
CREATE FUNCTION DONEM_GETIR()
RETURNS @AYLAR TABLE (DONEM VARCHAR(20))
AS
BEGIN
DECLARE @SAY AS INT
DECLARE @TARIH AS DATETIME
SET @SAY=0
SET @TARIH=GETDATE()
WHILE @SAY<12
BEGIN
INSERT INTO @AYLAR VALUES (FORMAT(@TARIH, 'MMMM yyyy', 'tr-TR'))
SET @TARIH=DATEADD(MONTH,1,@TARIH)
SET @SAY=@SAY+1
END
RETURN
END
--Donem_Getir fonksiyonunun kullanımı
SELECT DONEM FROM dbo.DONEM_GETIR()
--Fonksiyon dinamik olarak 12 aylık dönem getirir.
DONEM |
Mart 2023 |
Nisan 2023 |
Mayıs 2023 |
Haziran 2023 |
Temmuz 2023 |
Ağustos 2023 |
Eylül 2023 |
Ekim 2023 |
Kasım 2023 |
Aralık 2023 |
Ocak 2024 |
Şubat 2024 |