首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL DATE_ADD不工作

MySQL DATE_ADD不工作
EN

Stack Overflow用户
提问于 2009-09-14 13:01:26
回答 3查看 4.6K关注 0票数 2

我有两列: beginTime和duration。我在试着计算endTime。问题是我得到的结果是空的。

我试过几种方法。

代码语言:javascript
复制
DATE_ADD(startTime, INTERVAL `duration` MINUTE) AS endTime

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

DATE_ADD(startTime, INTERVAL 10 MINUTE) AS endTime

但每次结果都是空的。startTime不为空。它是一个时间字段,格式为09:00:00。

有人能帮我吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-14 13:07:58

如果时间格式不正确,DATE_ADD将返回NULL,并显示警告:

代码语言:javascript
复制
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中启用警告并对您的数据重复查询?

票数 2
EN

Stack Overflow用户

发布于 2009-09-14 13:05:33

这对我来说很有效:

代码语言:javascript
复制
SELECT DATE_ADD(`startTime`, INTERVAL 10 MINUTE) AS endTime FROM `users` WHERE 1
票数 0
EN

Stack Overflow用户

发布于 2009-09-14 13:07:51

在DATE_ADD中,第一个参数应该是日期字段,而不是时间字段。您可以尝试将开始时间更改为日期格式('0000-00-00 00:00:00'),然后尝试吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1421409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档