Můžete použít funkci DATEPART()
SELECT * FROM record
WHERE (DATEPART(yy, register_date) = 2009
AND DATEPART(mm, register_date) = 10
AND DATEPART(dd, register_date) = 10)
Tento způsob považuji za snadno čitelný, protože ignoruje časovou složku a k omezení výběru nemusíte používat datum dalšího dne. Můžete přejít k větší či menší podrobnosti přidáním dalších klauzulí pomocí příslušného kódu DatePart, např.
AND DATEPART(hh, register_date) = 12)
získat záznamy pořízené mezi 12. a 1.
Úplný seznam platných argumentů naleznete v dokumentaci MSDN DATEPART.