mysql時間相減如何獲取秒值
mysql時間戳轉(zhuǎn)換
select unix_timestamp();
獲取當前時間的時間戳
SELECT FROM_UNIXTIME(1529999834);
時間戳轉(zhuǎn)換為北京時間
要得到正確的時間相減秒值
有以下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經(jīng)銷商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) 函數(shù)的兩個參數(shù)類型必須相同。
3.1、
MySQL (時間和秒互相轉(zhuǎn)換):time_to_sec(time), sec_to_time(seconds)
select time_to_sec('01:00:05'); -- 3605 轉(zhuǎn)換為秒 select sec_to_time(3605); -- '01:00:05'
3.2、
1、req_dlr表中AcceptTime,CreateTime兩個時間戳轉(zhuǎn)換為北京時間,然后只取時間
2、把取到的時間轉(zhuǎn)換為秒,相減后求和
SELECT sum(time_to_sec(M.A)- TIME_TO_SEC(M.C)) FROM ( SELECT date_format( FROM_UNIXTIME(AcceptTime), '%H:%i:%S' ) A, date_format( FROM_UNIXTIME(CreateTime), '%H:%i:%S' ) C FROM `req_dlr` WHERE CreateTime >= "1527350400" AND CreateTime <= "1529942399" AND AcceptTime <> '0' AND makeid = '36000000' AND ReqState <> '97' ) AS M WHERE M.A <= '19:00:00' AND M.A >= '09:00:00';
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL數(shù)據(jù)庫事務隔離級別介紹(Transaction Isolation Level)
這篇文章主要介紹了MySQL數(shù)據(jù)庫事務隔離級別(Transaction Isolation Level) ,需要的朋友可以參考下2014-05-05linux下指定mysql數(shù)據(jù)庫服務器主從同步的配置實例
linux下指定數(shù)據(jù)庫服務器主從同步的配置實例,有需要的朋友可以參考下2013-01-01MySQL數(shù)據(jù)庫數(shù)據(jù)視圖
這篇文章主要介紹了MySQL數(shù)據(jù)庫數(shù)據(jù)視圖,視圖是原始數(shù)據(jù)庫數(shù)據(jù)的一種變換,是查看表中數(shù)據(jù)的另外一種方式,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-08-08Linux7.6二進制安裝Mysql8.0.27詳細操作步驟
大家好,本篇文章主要講的是Linux7.6二進制安裝Mysql8.0.27詳細操作步驟,感興趣的同學快來看一看吧,希望對你起到幫助2021-11-11