Tamam, bu hafta geçen hafta karşılaştırmaya göre bu hafta yapan bir raporum var ve müşterilerimiz verilerinin "korkak" olduğunu fark ettiler. Daha ileri araştırmalar sonucunda ISO standartlarına göre haftaların doğru olmadığını gördük. Bu senaryoyu bir test davası olarak çalıştırdım.
SET DATEFIRST 1
SELECT DATEPART(WEEK, '3/26/13')
, DATEPART(WEEK, '3/27/12')
, DATEPART(WEEK, '3/20/12')
, DATEPART(WEEK, '1/2/12')
SELECT DATEPART(ISO_WEEK, '3/26/13')
, DATEPART(ISO_WEEK, '3/27/12')
, DATEPART(ISO_WEEK, '3/20/12')
, DATEPART(ISO_WEEK, '1/2/12')
Koşarken bu sonuçları aldım.
Bunun kendine özgü olduğunu düşündüm ve bu yüzden biraz daha araştırma yaptım ve SQL Server’ın yılın ilk haftası olan ISO’nun Ocak ayının ilk Pazar günü saydığı yılın ilk haftası olarak 1 Ocak’ta sayıldığını gördüm.
Ardından soru iki kat olur. Soru 1 neden bu? Soru 2 bunu değiştirmenin bir yolu var, bu yüzden ISO_Week
her yerde kullanmak için kodumu değiştirmek zorunda kalmayacağım ?