Zitat von
jensw_2000:
SELECT * FROM Table WHERE DATEPART(YEAR,Datumsfeld)=2005
Schöne Grüße,
Jens
Funktioniert, hat aber den Nachteil, das die gesamte Tabelle durchsucht werden muss. Für jede Zeile wird das Datumsfeld genommen, der Jahresanteil extrahiert, und mit 2005 verglichen. Das kann dauern, wenn es z.B. Daten ab 1899 in der Datenbank gibt.
Wesentlich 'besser' (also schneller) ist diese Lösung:
SELECT * From Table Where Datumsfeld BETWEEN '1.1.2005' and '31.12.2005 23:59:59'