您的位置:首頁技術文章
文章詳情頁

mysql時間相減如何獲取秒值

瀏覽:241日期:2023-02-18 16:43:09
目錄
  • mysql時間戳轉換
  • 有以下3種方法
  • 總結

mysql時間戳轉換

  • select unix_timestamp(); 獲取當前時間的時間戳

  • SELECT FROM_UNIXTIME(1529999834); 時間戳轉換為北京時間

要得到正確的時間相減秒值

有以下3種方法

  • 1、time_to_sec(timediff(t2, t1)),
  • 2、timestampdiff(second, t1, t2),
  • 3、unix_timestamp(t2) -unix_timestamp(t1)
SELECT AcceptTime,CreateTime, (AcceptTime-CreateTime) sec FROM `req_dlr` WHERE SellOrg="CC經銷商88" AND CreateTime>="1527350400" AND CreateTime <= "1529942399"?AND AcceptTime <>"0" AND makeid = "36000000" AND ReqState <> "97";

此時用第3種方法,時間戳直接相減

3、timediff(time1,time2),兩個時間相減,返回time差值,如圖

注意:timediff(time1,time2) 函數的兩個參數類型必須相同。

3.1、

MySQL (時間和秒互相轉換):time_to_sec(time), sec_to_time(seconds)

select time_to_sec("01:00:05"); -- 3605 轉換為秒select sec_to_time(3605); -- "01:00:05"

3.2、

1、req_dlr表中AcceptTime,CreateTime兩個時間戳轉換為北京時間,然后只取時間

2、把取到的時間轉換為秒,相減后求和

SELECTsum(time_to_sec(M.A)- TIME_TO_SEC(M.C))FROM(SELECTdate_format(FROM_UNIXTIME(AcceptTime),"%H:%i:%S") A,date_format(FROM_UNIXTIME(CreateTime),"%H:%i:%S") CFROM`req_dlr`WHERECreateTime >= "1527350400"AND CreateTime <= "1529942399"AND AcceptTime <> "0"AND makeid = "36000000"AND ReqState <> "97") AS MWHEREM.A <= "19:00:00"AND M.A >= "09:00:00";

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

標簽: MySQL
相關文章:
国产综合久久一区二区三区