sql - MySQL DATE_ADD 不起作用

标签 sql mysql datetime

我有两列:开始时间和持续时间。我正在尝试计算结束时间。问题是我得到空结果。

我尝试过几种方法。

DATE_ADD(startTime, INTERVAL `duration` MINUTE) AS endTime

DATE_ADD(startTime, INTERVAL '10' MINUTE) AS endTime

DATE_ADD(startTime, INTERVAL 10 MINUTE) AS endTime

但每次结果都是空的。开始时间不为空。它是格式为 09:00:00 的时间字段。

谁能帮我解决这个问题吗?

最佳答案

如果时间格式不正确,

DATE_ADD 将返回 NULL,并带有警告:

mysql> \W
Show warnings enabled.
mysql> SELECT DATE_ADD('25:00:00', INTERVAL 10 MINUTE) AS endTime
    -> ;
+---------+
| endTime |
+---------+
| NULL    |
+---------+
1 row in set, 1 warning (0.00 sec)

Warning (Code 1292): Incorrect datetime value: '25:00:00'

另请注意,'hh:mm:ss' 不是正确的日期时间格式。您还需要有年、月和日。

您能否在 MySQL 中启用警告并使用您的数据重复查询?

关于sql - MySQL DATE_ADD 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1421409/

相关文章:

java - 带有 JDK 1.6 的应用程序服务器上的 TimeZone#setDefault()

sql - 我应该转向 NoSQL 吗? (大数据)

sql - 应该使用哪种数据类型来存储哈希值?

mysql - Rails 快速查找 has_many 关联与关联 ID 数组完全匹配的记录

c# - System.DateTime 和 System.DateTimeOffset 之间的区别

date - Dart - 将时间范围分成几天

php - 在 PHP 中连接具有不同 ID 的表字段

sql - 与表对象的交叉连接传播行(不需要 Table() 函数)

MySQL创建一个循环自身的存储过程

MySQL错误: Duplicate entry 'email@domain.com ' for key 3