用SQL查詢昨天、今天、明天和本週的記錄

轉載:http://blog.chinaunix.net/uid-12427199-id-3437964.html

附加:http://www.w3school.com.cn/sql/func_datediff.asp

怎麼用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())

 

希望以上這些方法,能給大家一些啓示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章