網(wǎng)站改版我想調(diào)用一個(gè)星期內(nèi)的閱讀量最對(duì)的數(shù)據(jù),調(diào)試了不久,終于搞定了,SQL 語句如下:
Select * from Table1 where Datediff(day,Time1,GetDate())<7 order by HITS DESC
Table1為查詢的表,day是天的間隔,Time1是數(shù)據(jù)庫中的數(shù)據(jù)錄入的時(shí)間字段,GetDate()函數(shù)是當(dāng)天的時(shí)間函數(shù),代替了Now(),TIme(),Day()等函數(shù)。
DATEDIFF其他數(shù)據(jù)庫中的應(yīng)用:
DATEDIFF函數(shù)在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 函數(shù)的語法有以下參數(shù):
參數(shù) 描述
interval 必選。字符串表達(dá)式,表示用于計(jì)算 date1 和 date2 之間的時(shí)間間隔。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。
date1, date2 必選。日期表達(dá)式。用于計(jì)算的兩個(gè)日期。
firstdayofweek 可選。指定星期中第一天的常數(shù)。如果沒有指定,則默認(rèn)為星期日。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。
firstweekofyear 可選。指定一年中第一周的常數(shù)。如果沒有指定,則默認(rèn)為 1 月 1 日所在的星期。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。
設(shè)置
interval 參數(shù)可以有以下值:
設(shè)置 描述
yyyy 年
q 季度
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 小時(shí)
n 分鐘 ("現(xiàn)在網(wǎng)上居然很多文章說是比較分鐘用m,正確應(yīng)該是n,小新特此修正")
s 秒
延伸:SQL查詢當(dāng)月數(shù)據(jù)
select count(*) from 表 where datediff(mm,時(shí)間字段,getdate())=0
要查詢上個(gè)月數(shù)據(jù)
select count(*) from 表 where datediff(mm,時(shí)間字段,getdate())-1=0