select *
from YourTable
where
[date] >= '20110311' and
[date] < '20110312'
如果你想爲今日(總是)你可以使用這個
select *
from YourTable
where
[date] >= dateadd(d, datediff(d, 0, getdate()), 0) and
[date] < dateadd(d, datediff(d, 0, getdate())+1, 0)
最後10天。
select *
from YourTable
where
[date] >= dateadd(d, datediff(d, 0, getdate())-9, 0)
編輯1查詢與樣品數據並導致
表定義
create table users
(name varchar(20),
user_register_date datetime)
數據
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)
查詢
select *
from users
where user_register_date >= dateadd(d, datediff(d, 0, getdate())-9, 0)
結果
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
什麼版本的SQL Server? 「日期」列是什麼數據類型?它是否有任何時間組件? – 2011-04-10 11:58:37
我使用sql server 2002 .... thx尋求幫助,但那不是我需要我通過mysql做到的,但可以通過mssql來完成此代碼'DATE_ADD(items.created_date,INTERVAL 1 DAY)> NOW()'這是在相同日期當天插入的mysql代碼顯示數據 – user700792 2011-04-10 16:44:55
@user - 沒有SQL Server 2002.選項爲2000,2005,2008。你還沒有回答我的其他問題。 – 2011-04-10 17:06:50