SQL Server’da İki Tarih Arasındaki Tüm Haftaların Başlangıç ve Bitiş Tarihleri Nasıl Bulunur?
Herkese merhaba,
Bu yazıda sizlere SQL Server’da iki tarih arasındaki tüm haftaların başlangıç ve bitiş tarihlerinin nasıl bulunacağı hakkında bilgi vereceğim.
En baştan belirteyim aşağıdaki sorgu sizin belirlemiş olduğunuz hafta başlangıç tarihini baz alarak çalışır.
Hafta başlangıç gününü salı günü olarak ayarladıysanız salı gününü baz alarak başlangıç ve bitiş tarihlerini gösterir.
Aşağıdaki kodu kendinize göre uyarlayarak siz de bu işlemi rahatlıkla yapabilirsiniz.
DECLARE @BaslangicTarihi DATETIME = '2021.10.04'; --Pazartesi gününü temel olarak seçtim.
DECLARE @BitisTarihi DATETIME = '2021.10.31';
WITH CTE
AS (SELECT @BaslangicTarihi HaftaBaslangicTarihi,
DATEADD(wk, DATEDIFF(wk, 0, @BaslangicTarihi), 6) HaftaBitisTarihi
UNION ALL
SELECT DATEADD(ww, 1, HaftaBaslangicTarihi),
DATEADD(ww, 1, HaftaBitisTarihi)
FROM CTE
WHERE DATEADD(ww, 1, HaftaBitisTarihi) <= @BitisTarihi)
SELECT *
FROM CTE;
;
Kodu çalıştırdığınızda aşağıdakine benzer bir sonuç göreceksiniz.
Görüldüğü üzere belirtilen iki tarih arasındaki başlangıç ve bitiş tarihlerini bize göstermiş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.