SQL 查詢某時間段的數據 datadiff 計算時間差


datediff語法格式:datediff(day,開始時間,結束時間)

一、應用舉例:

select * from [dbo].[Kah_Order_Sum] where datediff(day,'2016-09-20',created_time)>1

上面的代碼,將查詢 'created_time' > '2016-09-20的所有記錄。

如果要查詢'created_time' < '2016-09-20的所有記錄,有兩個方法:

1、把最后的>1,改成<0;

2、把兩個字順序互調,變成 datediff(day,created_time,'2016-09-20')>0

 

二、講解

1、語法:datediff(計算單位,開始時間,結束時間)

計算單位:一般填day\hour(天、小時)

開始時間,結束時間:可以填字段或具體的時間。

參見:http://www.w3school.com.cn/sql/func_datediff.asp

2、datediff(day,created_time,'2016-09-20')>0 根據返回的是兩個列的天數差,來判斷是否>0。

    =0,兩個時間相等,即查某一天的數據。

    >0,結束時間晚於開始時間的0天的數據,<0,結束時間早上開始時間的0天的數據。

三、注意

1、日期格式要加單引號,不可直接寫。

2、注意>1 和>0的區別,以datediff(day,created_time,'2016-09-20')>0為例:

     =0,是表示查找9-20當天的數據,>0是表示從9-21日開始的數據,>1是從9-22日開始的數據。

     這容易弄混。所以,一般建議填=0,>0.

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM