Je zou de DATEPART() functie kunnen gebruiken
SELECT * FROM record
WHERE (DATEPART(yy, register_date) = 2009
AND DATEPART(mm, register_date) = 10
AND DATEPART(dd, register_date) = 10)
Ik vind deze manier gemakkelijk te lezen, omdat het de tijdcomponent negeert en je de datum van de volgende dag niet hoeft te gebruiken om je selectie te beperken. U kunt naar meer of minder gedetailleerdheid gaan door extra clausules toe te voegen, met behulp van de juiste DatePart-code, bijvoorbeeld
AND DATEPART(hh, register_date) = 12)
om records tussen 12 en 1 te krijgen.
Raadpleeg de MSDN DATEPART-documenten voor de volledige lijst met geldige argumenten.