我有两列:beginTime和duration。我正在尝试计算endTime。问题是我得到了空的结果。
我尝试过几件事。
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的时间字段。
任何人都可以帮我吗?
答案 0 :(得分:1)
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
中启用警告,并使用您的数据重复查询吗?
答案 1 :(得分:0)
这对我有用:
SELECT DATE_ADD(`startTime`, INTERVAL 10 MINUTE) AS endTime FROM `users` WHERE 1
答案 2 :(得分:0)
在DATE_ADD中,第一个参数应该是Date字段而不是Time字段。您可以尝试将开始时间更改为日期格式('0000-00-00 00:00:00')并尝试?