可能是 Mysql 5.6.20 错误。日期 - 现在()?

Alt*_*ung 1 mysql

date_newOrd, now(), date_newOrd-now() AS `time`
Run Code Online (Sandbox Code Playgroud)

这是我的查询。date_newOrd是输入日期。我尝试计算下一次订单到达的剩余时间。我最好给你看截图:

在此处输入图片说明


在此处输入图片说明


在此处输入图片说明

结果是没有任何意义。我该怎么办>

Mar*_*c B 5

你不能减去这样的日期:

mysql> select '2015-06-01 18:20:03' - now();
+-------------------------------+
| '2015-06-01 18:20:03' - now() |
+-------------------------------+
|               -20150602073525 |
+-------------------------------+
Run Code Online (Sandbox Code Playgroud)

虽然这可能看起来(模糊地)像一个日期,但它实际上是一个整数,如果没有额外的处理,就不能用于进一步的日期计算。

您必须使用datediff()timediff()

mysql> select timediff('2015-06-01 18:20:03', now()) as td, datediff('2015-06-01 18:20:03', now()) as dd;
+-----------+------+
| td        | dd   |
+-----------+------+
| -13:37:47 |   -1 |
+-----------+------+
Run Code Online (Sandbox Code Playgroud)

请注意,datediff仅处理日期,并timediff处理日期时间值。