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



我在MySQL表中有2个datetime列。

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

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

select end,start,end-start from job where id=1;

我有这样的结果

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

只是好奇MySQL怎么直接减去,20000.000000怎么来的。

我不擅长处理日期。哪个是最好的方法?

unix_timestamp:如果您想将UNIX TIMESTAMP转换为从'1970-01-01'开始的秒数


如果不带参数调用,返回Unix时间戳(seconds since)'1970-01-01 00:00:00' UTC)作为无符号整数。如果UNIX_TIMESTAMP ()使用日期参数调用,它返回参数的值as seconds since '1970-01-01 00:00:00' UTC。date可以是一个date字符串,DATETIME字符串、TIMESTAMP或格式为YYMMDD或的数字名称。

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

你想要这个:

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

实际操作

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()来格式化这个datetime列值。TO_SECONDS()从MySQL 5.5.0开始可用。

MYSQL - datetime to seconds也为输出提供了另一种解决方案。

相关内容

  • 没有找到相关文章

最新更新