SQL Server 中的時間的比較和時間的加減計算


最近在寫一個項目時,用到了時間的比較和時間的加減,在這里簡單說一下,我也是剛接觸數據庫不久,如有說的不當之處望大家包涵,指正

一、兩個時間的比較差值

     開始的時候我比較時間用的是 Time>GETDATE() 簡單粗暴

     其實SQL Server有自帶的時間比較函數,所以可以用它自帶的,還安全也很方便

     DATEDIFF();

     我參照的W3School 中對於DATEDIFF函數的解析,具體如下:

     語法

   DATEDIFF(datepart,startdate,enddate)
其中datepart是只你要比較這個兩個時間的年?還是月?還是日?還是小時等相差多少
具體寫法參照下圖:
datepart 縮寫
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小時 hh
分鍾 mi, n
ss, s
毫秒 ms
微妙 mcs
納秒 ns

           簡單的寫個例子說明下:

            DATEDIFF(HH,'2014-06-25 8:00:00','2014-06-25 12:58:00') 得到值是4,就是這個兩時間相比較小時相差4個小時

            如果要比較天數,就把HH改為d即可,其他比較可以修改上面的時間,例如修改年,月,日等分別看看結果

  二、對時間的加減計算

         開始我用的是  Time+1就是在時間上加一天,減一天就用Time-1,同樣的簡單粗暴

         下面說一下SQL Server中自帶的時間加減的函數

         語法如下:

     DATEADD(datepart,number,date)
其中datepart是你要加減的時間的形式,加年?還是月?還是日等
具體寫法如下:
datepart 縮寫
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小時 hh
分鍾 mi, n
ss, s
毫秒 ms
微妙 mcs
納秒 ns

               感覺和上述的DATEDIFF差不多,直接看例子:

                DATEADD(d,1,GETDATE())是當前時間加一天,減一天就用 DATEADD(d,-1,GETDATE())

               如果是對於年、月、小時等加減參照上圖,修改datepart即可,方便快捷

            ps:W3School還是很不錯的 http://www.w3school.com.cn/sql/

 

出處:https://www.cnblogs.com/kaxbk/p/3807641.html


免責聲明!

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



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