在MySQL中有没有我可以设置一个列到达60时继续?目前我说7.45小时,我想加20分钟,我得到7.75。该列设置为decimal
。我尝试将其设置为time
,但它增加了我不需要的秒数。
答案 0 :(得分:1)
好的选择是使用Time
数据类型,然后如果你不需要那么只丢弃秒。
当您需要在该领域进行任何计算时,它将在未来帮助您。
您可以使用ADDTIME
在查询中添加时间列中的时间,如下所示。
SELECT ADDTIME(YourColumn,'0:20') FROM YourTable;
你也可以使用TIME_FORMAT
来获得所需的输出(例如丢弃秒数)
SELECT TIME_FORMAT(YourColumn,'%H:%i') FROM TableName;
答案 1 :(得分:0)
我强烈建议您不要将decimal
用于您要执行的操作,而是使用time
代替。
使用time
,您可以使用许多日期和时间功能,例如添加分钟。
您的问题有多种解决方案。
使用addtime()函数:
update tablename
set timecolumn = addtime(timecolumn, '00:20:00');
使用间隔:
update tablename
set timecolumn = timecolumn + interval 20 minute;
使用date_add()和interval:
的组合update tablename
set timecolumn = date_add(timecolumn, interval 20 minute);
来源:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html