天天看點

mysql中計算時間差的函數

文章目錄

      • 1. TIMESTAMPDIFF(時間機關,參數1,參數2)
      • 2. DATEDIFF(參數1,參數2)
      • 3.TIMDIFF(參數1,參數2)
      • 4. 其他時間函數

今天碰到一個需要查詢某一個時間距離目前時間過去了多久修改内容值的功能,總結一下mysql中計算時間差的函數的應用

1. TIMESTAMPDIFF(時間機關,參數1,參數2)

可以設定參數,可以精确到天(DAY),小時(HOUR),分鐘(MINUTE),秒(SECOND),計算機制為參數2-參數1,最後結果為數字,機關為第一個參數設定的值

  • 計算2019-09-20 23:59:00到目前時間的天數
  • 計算2019-08-20 09:00:00到目前時間的小時數
  • 計算2019-09-20 09:00:00到目前時間的分鐘數
  • 計算2019-07-20 09:00:00到目前時間的秒數
  • 更新某個值當目前時間比某個時間大于等于3天的時候

2. DATEDIFF(參數1,參數2)

傳回值為相差的天數,int類型,不能定位到時分秒,因為固定天數為機關,是以比上面的少一個可設定的參數,且計算機制為參數1-參數2,與上面的計算機制相反,寫反了的話會出現負數

3.TIMDIFF(參數1,參數2)

傳回值為兩個之間相差的內插補點,類型與參數1和參數2的類型相同,不适宜用于計算,可用來當做結果,計算機制為參數1-參數2

4. 其他時間函數

  • now()函數傳回的是目前時間的年月日時分秒
  • curdate()函數傳回的是年月日資訊
  • curtime()函數傳回的是目前時間的時分秒資訊

繼續閱讀