用SQL查詢日 月 周 季

來源:互聯網
上載者:User

怎麼用SQL查詢昨天、今天、明天和本周的記錄?又怎麼用SQL查詢一天,三天,一周,一個月,更長一些——一個季度的記錄呢?本文中給出了一些方法。

SQL查詢今天的記錄:

 
  1. datediff(day,[Datetime],getdate())=0  把Datetime換為你的相應欄位; 

SQL查詢昨天的記錄:

 
  1. datediff(day,[Datetime],getdate())=1  把Datetime換為你的相應欄位,getdate()-Datetime即為時間差。 

本月記錄:

 
  1. SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0 

本周記錄:

 
  1. SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0  

本日記錄:

 
  1. SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0 

一天

 
  1. select * from T_news where datediff(day,addtime,getdate())=0   

三天

 
  1. select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>= 0   

一周

 
  1. select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime) = DATEPART(yy, GETDATE()))   

注意:此時不能用 datediff 差值為7,因為,datediff只表示間隔數

一月   

 
  1. select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, addtime) = DATEPART(mm, GETDATE()))   

一季度

 
  1. select * from T_news where DATEPART(qq, addtime) = DATEPART(qq, GETDATE()) and DATEPART(yy, addtime) = DATEPART(yy, GETDATE()) 

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

編輯精選】

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.