If you wanted to do it using a single date, you could do something like this
select
*
FROM
SomeTable
WHERE
CAST(FLOOR( CAST( YourField AS FLOAT ) )AS DATETIME) = '1/27/2011'
So, strip out the time from the field and then compare to some value
Update: sorry, I saw your post about that killing indexes
Otherwise, the only way to do it is to use a BETWEEN.
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate = CAST(FLOOR( CAST( GETDATE-1 AS FLOAT ) )AS DATETIME)
SET @EndDate = CAST(FLOOR( CAST( GETDATE AS FLOAT ) )AS DATETIME)
select
*
FROM
SomeTable
WHERE
YourField BETWEEN @StartDate AND @EndDate