MySQL减去两个日期时间并以纳秒为单位返回

时间:2015-05-23 19:55:13

标签: mysql date datetime

我知道这个问题可能很简单,但我对2 columns datetime中的A MYSQL table select end,start,end-start from job where id=1; 感到筋疲力尽。

我想减去它并返回结果和纳秒精度

到目前为止,这是我的代码。

'2014-04-02 12:30:00', '2014-04-02 10:30:00', 20000.000000

我有这样的结果

20000.000000

只是好奇如何直接使用mysql Substract .. import threading tracker_thread = threading.Thread(target=func, args=(x,y,z)) tracker_thread.daemon = True tracker_thread.start() 来自何处。

我希望有人可以帮助我处理日期不好..这是最好的方法,非常感谢...

1 个答案:

答案 0 :(得分:3)

unix_timestamp:如果你想将UNIX TIMESTAMP转换成秒,因为' 1970-01-01'

  

如果没有参数调用,则返回一个Unix时间戳(从那以后的秒数)   ' 1970-01-01 00:00:00' UTC)作为无符号整数。如果是UNIX_TIMESTAMP()   使用日期参数调用,它返回参数的值   为,因为' 1970-01-01 00:00:00'世界标准时间。 date可以是DATE字符串,   DATETIME字符串,TIMESTAMP或格式为YYMMDD或的数字   YYYYMMDD。

考虑一下:

SELECT unix_timestamp(now()) - unix_timestamp('2007-03-19 09:50:00')

你想要这个:

SELECT unix_timestamp(column1) - unix_timestamp(column2) from tableName

See it in action

SELECT start_time, 
       end_time, 
       ( Unix_timestamp(start_time) - Unix_timestamp(end_time) ) * 1000000000 AS 
       NanoSeconds 
FROM   job 

输出:

start_time      |       end_time           |    NanoSeconds
April, 02 2014 12:30:00 April, 02 2014 10:30:00 7200000000000

我们可以使用DATE_FORMAT()格式化此日期时间列值。从MySQL 5.5.0开始可以使用TO_SECONDS()

MYSQL - datetime to seconds也为您想要的输出的另一个解决方案提供了一些亮点。