在MySQL中添加一些时间分钟

Ikk*_*kke 6 mysql datetime

这个问题与这个问题有关

我有一个字段,它是一个时间字段(它不需要是一个日期时间字段,因为日期部分在这里没有意义).我要添加的值是在几分钟内的另一个字段中.

所以基本上,我想在时间值上添加分钟.我已经尝试过DATE_ADD函数,但它希望日期是datetime,并设置datepart.我也尝试过ADDTIME函数,但问题是持续时间字段是整分钟,而不是格式为hh:mm:ss,所以它只是将其添加为秒.

有谁知道这样做的方法?

[编辑]

这是当前的查询:

SELECT ADDTIME(startTime, duration * 60), startTime, duration FROM tblAppointment
JOIN tblThreatment ON tblThreatment.threatmentid = tblAppointment.threatment_id;
Run Code Online (Sandbox Code Playgroud)

这就是结果:

+-----------------------------------+-----------+----------+
| ADDTIME(startTime, duration * 60) | startTime | duration |
+-----------------------------------+-----------+----------+
| 09:18:00                          | 09:00:00  |       30 |
| 10:09:00                          | 10:00:00  |       15 |
| 09:09:00                          | 09:00:00  |       15 |
| 10:57:00                          | 10:30:00  |       45 |
+-----------------------------------+-----------+----------+
Run Code Online (Sandbox Code Playgroud)

Rob*_*ban 23

Addtime肯定是要走的路......只需添加一定的分钟数即可:

 AddTime('00:00:00', '00:10:00')
Run Code Online (Sandbox Code Playgroud)

这将为第一个值增加10分钟.

您可以在这里阅读dev.mysql.com上的更多信息:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_addtime

编辑:

除了你的评论.如果您以格式mm和其他方式获取要添加的值,则可以使用该SEC_TO_TIME()函数解析时间值.像这样:

SELECT ADDTIME(startTime, SEC_TO_TIME(duration*60)), startTime, duration
FROM tblAppointment
JOIN tblThreatment ON tblThreatment.threatmentid = tblAppointment.threatment_id;
Run Code Online (Sandbox Code Playgroud)

这将返回hh:mm:ss分钟格式的时间.


Jer*_*nes 6

从日期和时间添加和减去间隔的简单方法是使用+or-和单词INTERVAL

SELECT startTime + INTERVAL 10 MINUTE
Run Code Online (Sandbox Code Playgroud)

您可以添加和减去秒、分、天、周、月等。完整列表在这里https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html #function_date-add

也可以使用 INTERVAL 和 + 或 - 运算符来执行日期算术:

date + INTERVAL expr unit 
date - INTERVAL expr unit 
Run Code Online (Sandbox Code Playgroud)

如果另一侧的表达式是日期或日期时间值,则 + 运算符的任一侧都允许使用 INTERVAL expr 单元。对于 - 运算符,INTERVAL expr 单位只允许在右侧,因为从间隔中减去日期或日期时间值是没有意义的。