Dermed fortæller du den at dine uger begynder med mandage. Ellers køres der med default, som er SET DATEFIRST 7 - altså at ugerne begynder med søndage (sådan som amerikanerne gør det :-)
Bemærk at du kan få problemer med ugenumrene her i Europa. DATEPART(ww,dato) antager så vidt jeg ved at uge 1 er den uge, hvor den 1. januar er i. Det er igen amerikansk standard, mens europæisk (ISO) standard kan godt starte uge 1 f.eks. den 3. januar. (Hvis den 1.januar er en torsdag eller efter, begynder uge 1 først efterfølgende mandag iflg. ISO standard.)
Hvordan du løser det problem i MS SQL er jeg faktisk ikke klar over...
Jeg mente selvfølgelig hvis den 1.januar er en *fredag* eller efter, begynder uge 1 først efterfølgende mandag.
I år er det ikke noget problem, men gør dig selv den tjeneste at teste dine ting for datoer i januar 2005. Her begynder uge 1 iflg. os først mandag den 3. januar.
string SQL = "SET DATEFIRST 1 SELECT vagt.dato, vagt.start, vagt.slut, vagt.kampagne, location.location, location.byen, (LEFT(vagt.ansatNavn,10)) AS ansatNavn, vagt.ansatNavn AS ansatNavnLang, vagt.accepteret, vagt.evalueret, location.post, location.region, vagt.kontaktperson, vagt.andet, vagt.ID AS vagtID, vagt.ansatID AS ansatID, vagt.locationID AS locid FROM vagt INNER JOIN location ON vagt.locationID = location.ID WHERE vagt.ID > 0 " + where + " ORDER BY vagt.dato";
Men ellers tak alpapa
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.