date_newOrd, now(), date_newOrd-now() AS `time`
Run Code Online (Sandbox Code Playgroud)
这是我的查询。date_newOrd是输入日期。我尝试计算下一次订单到达的剩余时间。我最好给你看截图:



结果是没有任何意义。我该怎么办>
你不能减去这样的日期:
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处理日期时间值。
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |