SQL Server’da Dinamik Tarih Oluşturmak

Herkese merhaba,

Bu kısımda SQL Server’da dinamik tarih oluşturma kodları olacak.

WITH DinamikTarihOlusturucu(BaseYearMinus, BaseYearPlus)
AS
(
	SELECT DATEFROMPARTS(YEAR(GETDATE()), 1, 1) BaseYearMinus, DATEFROMPARTS(YEAR(GETDATE()), 1, 1) BaseYearPlus
	UNION ALL
	SELECT DATEADD(YEAR, -1, BaseYearMinus) BaseYearMinus, DATEADD(YEAR, 1, BaseYearPlus) BaseYearPlus FROM DinamikTarihOlusturucu
	WHERE (DATEDIFF(YEAR, BaseYearMinus, BaseYearPlus)/2) < (1 /*  Buraya yazılan rakam kadar var olan yıldan aşağı ve yukarı yılları getirir  */)
)
SELECT UnPvt.RangeYear
FROM
(
	SELECT YEAR(BaseYearMinus) YearMinus, YEAR(BaseYearPlus) YearPlus FROM DinamikTarihOlusturucu
) Tbl
UNPIVOT (RangeYear FOR ReleaseYear IN (YearMinus, YearPlus)) UnPvt
GROUP BY RangeYear
ORDER BY RangeYear;
412 Kez Okundu