Użyj:
WHERE registrationdate BETWEEN '01/01/2003' AND '12/31/2003'
...ale jak wskazał gbn, aby być bezpiecznym dla lokalizacji - użyj:
WHERE registrationdate BETWEEN '20030101' AND '20031231'
SQL Server wykona niejawną konwersję ciągu na datę, pod warunkiem, że jest to obsługiwany format. Jawna konwersja ma miejsce wtedy, gdy musisz użyć CAST lub CONVERT aby zmienić typ danych.
Podczas konwersji „01/01/2003” na DATETIME część czasu będzie wynosić 00:00:00, ponieważ nie została określona.