MySQL TIMEDIFF 负值

标签 mysql

我在使用具有两个不同日期的 TIMEDIFF 时遇到问题。以下查询“应该”返回 00:04:51

mysql> SELECT TIMEDIFF(TIME('2013-07-21 00:04:50'),TIME('2013-07-20 23:59:59'));
+-------------------------------------------------------------------+

|TIMEDIFF(TIME('2013-07-21 00:04:50'),TIME('2013-07-20 23:59:59')) |

+-------------------------------------------------------------------+

| -23:55:09                                                         |

+-------------------------------------------------------------------+

1 row in set (0.00 sec)

有什么建议吗?哪种方法最简单? 谢谢

最佳答案

如果没有日期信息,则必须假设这些值是在同一天。保留日期信息,它将按预期工作*:

SELECT TIMEDIFF('2013-07-21 00:04:50','2013-07-20 23:59:59');

*前提是答案小于 TIME 最大值 838:59:59

关于MySQL TIMEDIFF 负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18148836/

相关文章:

jquery - 如何将隐藏/显示属性保存到数据库?

JSON 任务后 AndroidPlot 指令被忽略

java - JDBC Insert with Prepared Statement 说我有 SQL 语法错误

mysql - Select 语句的子查询出错

mysql - Rails 登录背后的逻辑是什么?

mysql - 列出每条记录出现的次数 SQL

python - 如何使用 MySQLdb is_connected() 使用 python 检查事件的 mysql 连接?

mysql - 将数据库架构与 MySQL Workbench 进行比较

如果特定列中已经没有特定值,则 MySQL 插入

MySql 函数没有返回正确的结果