select * from YourTable where [date] >= '20110311' and [date] < '20110312'
If you want it today (always), you can use this
select * from YourTable where [date] >= dateadd(d, datediff(d, 0, getdate()), 0) and [date] < dateadd(d, datediff(d, 0, getdate())+1, 0)
The last 10 days.
select * from YourTable where [date] >= dateadd(d, datediff(d, 0, getdate())-9, 0)
Edit 1 Query with sample data and result
Table definition
create table users (name varchar(20), user_register_date datetime)
Data
insert into users values ('user today', getdate()) insert into users values ('user yesterday', getdate()-1) insert into users values ('user 9 days ago', getdate()-9) insert into users values ('user 10 days ago', getdate()-10)
Request
select * from users where user_register_date >= dateadd(d, datediff(d, 0, getdate())-9, 0)
Result
name user_register_date -------------------- ----------------------- user today 2011-04-14 08:29:28.407 user yesterday 2011-04-13 08:29:28.410 user 9 days ago 2011-04-05 08:29:28.410