In SQL Server 2008 the date datatype was added.
datetime column to
date is sargable and can use an index on the
select * from T where cast(DateTimeCol as date) = '20130101';
The other option you have is to use a range instead.
select * from T where DateTimeCol >= '20130101' and DateTimeCol < '20130102'
Are these queries equally good or should one be preferred over the other?