Du kan bruge DATEPART
funktion til at udtrække dele af datoer. Det bør også gøre dine forespørgsler mere eksplicitte om, hvad du søger at opnå:
SELECT * FROM MyTable
where DATEPART(year,CheckDate)=2009 and
DATEPART(month,CheckDate) between 10 and 12
(Der er også specifikt navngivne funktioner, såsom MONTH
og YEAR
, men jeg foretrækker DATEPART
for konsistens, da den kan få adgang til alle komponenter i en datetime
)
Du bør prøve at undgå at tænke på datetime
s som at have nogen form for strengformat. At behandle dem som strenge er en af de største kilder til fejl, vi støder på.