18-10-2023, Saat: 16:48
Selamlar
Aşağıdaki şekilde bir sorgunun sonucunda en sonda bulunan X alanında
Her ayın kendi içindeki hafta numarasını almaya çalışıyorum.
Fakat doğru sonuca ulaşamadım.
Doğru sonuç örneği aşağıdaki şekilde olmalıdır
01 Ocak 1.Hafta
02-08 Ocak 2.Hafta
09-15 Ocak 3.Hafta
16-22 Ocak 4.Hafta
23-29 Ocak 5.Hafta
30-31 Ocak 6.Hafta
----
01-05 Şubat 1.Hafta
06-12 Şubat 2.Hafta
.....
Aşağıdaki şekilde bir sorgunun sonucunda en sonda bulunan X alanında
Her ayın kendi içindeki hafta numarasını almaya çalışıyorum.
Fakat doğru sonuca ulaşamadım.
Doğru sonuç örneği aşağıdaki şekilde olmalıdır
01 Ocak 1.Hafta
02-08 Ocak 2.Hafta
09-15 Ocak 3.Hafta
16-22 Ocak 4.Hafta
23-29 Ocak 5.Hafta
30-31 Ocak 6.Hafta
----
01-05 Şubat 1.Hafta
06-12 Şubat 2.Hafta
.....
Set DateFormat dmy
Declare @Gunler Table (Tarih DateTime)
Declare @Tarih DateTime
Declare @BasTarih DateTime
Declare @BitTarih DateTime
Set @BasTarih = Cast('20230101' As DateTime)
Set @BitTarih = Cast('20230330' As DateTime)
Set @Tarih = @BasTarih
While @Tarih <= @BitTarih
begin
Insert Into @Gunler (Tarih)
Values (@Tarih)
Set @Tarih = DateAdd(Day, 1, @Tarih)
End
Set DateFirst 1
Select T.*,
ROW_NUMBER() OVER(PARTITION BY Yil, Ay, HaftaGun ORDER BY Yil, Ay, YilHafta) As X
From (
Select G.Tarih,
DateName(Weekday, G.Tarih) As Gun,
DatePart(Year, G.Tarih) As Yil,
DatePart(Month, G.Tarih) As Ay,
DatePart(Week, G.Tarih) As YilHafta,
DatePart(Weekday,G.Tarih) As HaftaGun
From @Gunler G
) T
Order By T.Tarih