Możesz użyć DATEPART
funkcja wyodrębniania części dat. Powinno to również sprawić, że Twoje zapytania będą bardziej wyraźne dotyczące tego, co chcesz osiągnąć:
SELECT * FROM MyTable
where DATEPART(year,CheckDate)=2009 and
DATEPART(month,CheckDate) between 10 and 12
(Istnieją również specjalnie nazwane funkcje, takie jak MONTH
i YEAR
, ale wolę DATEPART
dla spójności, ponieważ może uzyskać dostęp do wszystkich składników datetime
)
Powinieneś unikać myślenia o datetime
s jako o dowolnym formacie ciągu. Traktowanie ich jako ciągów jest jednym z największych źródeł błędów, jakie napotykamy.