我的表中有一個表示記錄生成時間的時間戳值。如何從當前時間和時間戳中找出以秒,小時,分鐘爲單位的時間差在mysql中
我想知道使用MySQL生成記錄之前的秒數,小時數,天數。換句話說,我們如何才能找出以秒,小時,天的格式與當前時間的差異和MySQL中的時間戳值?
我的表中有一個表示記錄生成時間的時間戳值。如何從當前時間和時間戳中找出以秒,小時,分鐘爲單位的時間差在mysql中
我想知道使用MySQL生成記錄之前的秒數,小時數,天數。換句話說,我們如何才能找出以秒,小時,天的格式與當前時間的差異和MySQL中的時間戳值?
試試這個
SELECT TIMESTAMPDIFF (SECOND, CURDATE(), your_timestamp_field) from your_table;
欲瞭解更多信息請參閱date and time functions
> SELECT A.CALLSIGN,TO_CHAR(A.TIMEOFMSGRCVD ,'YYYYMMDDHH24MISS')
> time_tmo,TO_CHAR(b.TIMEOFMSGRCVD ,'YYYYMMDDHH24MISS') time_arrival,
> floor(((b.TIMEOFMSGRCVD-a.TIMEOFMSGRCVD)*24*60*60)/3600)
> HOURS,
> floor((((b.TIMEOFMSGRCVD-a.TIMEOFMSGRCVD)*24*60*60) -
> floor(((b.TIMEOFMSGRCVD-a.TIMEOFMSGRCVD)*24*60*60)/3600)*3600)/60)
> MINUTES,
> round((((b.TIMEOFMSGRCVD-a.TIMEOFMSGRCVD)*24*60*60) -
> floor(((b.TIMEOFMSGRCVD-a.TIMEOFMSGRCVD)*24*60*60)/3600)*3600 -
> (floor((((b.TIMEOFMSGRCVD-a.TIMEOFMSGRCVD)*24*60*60) -
> floor(((b.TIMEOFMSGRCVD-a.TIMEOFMSGRCVD)*24*60*60)/3600)*3600)/60)*60)
>))
> SECONDS FROM (SELECT * FROM ATC.ATCMSG WHERE FLIGHTDATE=TO_CHAR(SYSDATE-1,'MMDDYY') AND EVENTTYPE='DES') a, (SELECT
> * FROM ATC.ATCMSG WHERE FLIGHTDATE=TO_CHAR(SYSDATE-1,'MMDDYY') AND EVENTTYPE='ARR') b WHERE A.CALLSIGN=B.CALLSIGN ORDER BY 4,5,6;
你有什麼企圖?作爲參考:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html –
我試過這TIMEDIFF(CURRENT_TIMESTAMP,added_on),但沒有結果 – JLM
最好的猜測是你的「added_on」列不是'timestamp'類型? – th3byrdm4n