首页 > 解决方案 > MySQL中DateTime操作的结果是什么

问题描述

我尝试了以下 SQL 查询。

select start_time, end_time, end_time-start_time from orders

这打印了以下输出。

start_time          |end_time             |end_time-start_time
...
2019-11-29 15:55:54 | 2019-12-01 15:59:00 | 72000346
...

我不知道结果意味着什么。我知道我们可以使用TIMESTAMPDIFF来计算两个日期时间之间的差异。有谁知道结果是什么意思?

标签: mysqlsql

解决方案


select 
  start_time,
  end_time, 
  '0000000000000000000'+end_time   as exp1,
  '0000000000000000000'-start_time as exp2,
  '0000000000000000000'+end_time - '0000000000000000000'-start_time      as exp3
from orders;

输出:

+---------------------+---------------------+----------------+-----------------+----------+
| start_time          | end_time            | exp1           | exp2            | exp3     |
+---------------------+---------------------+----------------+-----------------+----------+
| 2019-11-29 15:55:54 | 2019-12-01 15:59:00 | 20191201155900 | -20191129155554 | 72000346 |
+---------------------+---------------------+----------------+-----------------+----------+

MySQL中时间戳值的内部表示是什么

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html


推荐阅读