Select * from Table1 where Datediff(day,Time1,GetDate())<7 order by HITS DESC
Table1為查詢的表,day是天的間隔,Time1是數據庫中的數據錄入的時間字段,GetDate()函數是當天的時間函數,代替了Now(),TIme(),Day()等函數。
DATEDIFF其他數據庫中的應用:
DATEDIFF函數在Access和MSSQL中的使用區(qū)別
ACCESS中用法:DATEDIFF('day', Time1, Now())
MSSQL中用法:DATEDIFF(day, Time1, getdate())
Sybase中用法:DATEDIFF(dd, Time1, getdate())
語法
DateDiff(interval, date1, date2 [,firstdayofweek][, firstweekofyear]])
DateDiff 函數的語法有以下參數:
參數 描述
interval 必選。字符串表達式,表示用于計算 date1 和 date2 之間的時間間隔。有關數值,請參閱“設置”部分。
date1, date2 必選。日期表達式。用于計算的兩個日期。
firstdayofweek 可選。指定星期中第一天的常數。如果沒有指定,則默認為星期日。有關數值,請參閱“設置”部分。
firstweekofyear 可選。指定一年中第一周的常數。如果沒有指定,則默認為 1 月 1 日所在的星期。有關數值,請參閱“設置”部分。
設置
interval 參數可以有以下值:
設置 描述
yyyy 年
q 季度
m 月
y 一年的日數
d 日
w 一周的日數
ww 周
h 小時
n 分鐘 ("現在網上居然很多文章說是比較分鐘用m,正確應該是n,小新特此修正")
s 秒
延伸:SQL查詢當月數據
select count(*) from 表 where datediff(mm,時間字段,getdate())=0
要查詢上個月數據
select count(*) from 表 where datediff(mm,時間字段,getdate())-1=0
eg:--查詢3秒內的數據 f_time 是t_admin的字段
select count(*) from t_admin where datediff(S,f_time,'2012-03-24 16:58:17')-3=0 and f_pass=1