【问题标题】:How to find out the difference of time in seconds,hours,day format from current time and timestamp in mysql如何在mysql中找出当前时间和时间戳的秒、小时、日格式的时间差
【发布时间】:2013-03-23 07:23:14
【问题描述】:

我的表中有一个时间戳值,它表示生成记录的时间。

我想知道使用 MySQL 生成记录之前的秒数、小时数、天数。换句话说,我们如何从 MySQL 中的当前时间和时间戳值中找出秒、小时、日格式的时间差异?

【问题讨论】:

标签: mysql sql timestamp


【解决方案1】:

试试这个

 SELECT TIMESTAMPDIFF (SECOND, CURDATE(), your_timestamp_field) from your_table;

更多信息请参考date and time functions

【讨论】:

  • 它也适用于时间戳类型。请描述您的表格架构并在表格中显示一些记录
【解决方案2】:
> 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;

【讨论】:

    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 2012-06-03
    • 2011-12-10
    相关资源
    最近更新 更多