怎麼用SQL查詢昨天、今天、明天和本周的記錄?又怎麼用SQL查詢一天,三天,一周,一個月,更長一些——一個季度的記錄呢?本文中給出了一些方法。
SQL查詢今天的記錄:
- datediff(day,[Datetime],getdate())=0 把Datetime換為你的相應欄位;
SQL查詢昨天的記錄:
- datediff(day,[Datetime],getdate())=1 把Datetime換為你的相應欄位,getdate()-Datetime即為時間差。
本月記錄:
- SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
本周記錄:
- SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0
本日記錄:
- SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0
一天
- select * from T_news where datediff(day,addtime,getdate())=0
三天
- select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>= 0
一周
- select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime) = DATEPART(yy, GETDATE()))
注意:此時不能用 datediff 差值為7,因為,datediff只表示間隔數
一月
- select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, addtime) = DATEPART(mm, GETDATE()))
一季度
- select * from T_news where DATEPART(qq, addtime) = DATEPART(qq, GETDATE()) and DATEPART(yy, addtime) = DATEPART(yy, GETDATE())
希望以上這些方法,能給大家一些啟示。
編輯精選】