Er draait bij ons een applicatie met heel veel storedprocs
Bij een aantal van die stored procs wordt verwacht een jaar en een weeknummer. De WHERE clause is alsvolgt:
Er waren klachten dat de weken verschoven waren.
Even testje gedaan:
PRINT DATEPART(wk,'jan 1 2005') geeft week 1 ipv 53 (2004)
PRINT DATEPART(wk,'jan 3 2005') geeft week 1 ipv 53 (2004)
PRINT DATEPART(wk,'jan 8 2005') geeft week 2 ipv 1 (2005)
huh. Lijkt erop dat sql niet de ISO standaard aanhoud met week1 is eerste week met 4 dagen oid.
Hoe kan ik dit snel oplossen want het is heel verwarrend?
Bij een aantal van die stored procs wordt verwacht een jaar en een weeknummer. De WHERE clause is alsvolgt:
SQL:
1
| WHERE ( DATEPART(ww, DatumVeld) = @WeekNumber AND YEAR(DatumVeld) = @Year ) |
Er waren klachten dat de weken verschoven waren.
Even testje gedaan:
PRINT DATEPART(wk,'jan 1 2005') geeft week 1 ipv 53 (2004)
PRINT DATEPART(wk,'jan 3 2005') geeft week 1 ipv 53 (2004)
PRINT DATEPART(wk,'jan 8 2005') geeft week 2 ipv 1 (2005)
Hoe kan ik dit snel oplossen want het is heel verwarrend?