怎么总结24小时的时间mysql?

时间:2017-09-19 20:03:14

标签: mysql sql

我在mysql中有一个列时间类型,我想在这个小时内添加24小时,我尝试下面的代码:

SELECT SUBSTRING(CAST(DATE_ADD(STR_TO_DATE('23:00', '%k:%i'), INTERVAL (TIME_TO_SEC('24:00') / 60) MINUTE) AS CHAR(8)), 1,5)

我需要再次返回23:00(因为我添加了24小时但是第二天23:00)但是这段代码还给我47:00。 一些帮助?

3 个答案:

答案 0 :(得分:0)

我认为您正在寻找ADDTIME

 SELECT ADDTIME(‘23:00’,’24:00’)

https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_addtime

答案 1 :(得分:0)

您需要先将列值转换为日期时间,添加小时数,然后将结果转换回时间:

select cast(date_add(cast(time_column as datetime), interval 24 hour ) as time)
from yourtable;

示例:

select cast(date_add(cast(cast('23:00' as time) as datetime), interval 24 hour ) as time)

答案 2 :(得分:0)

TIME类型允许您存储最多(但不包括)839小时(正面和负面)。如果您需要存储持续时间,这很好,但如果您想存储时间则不是很多。如果你想要后者,你应该考虑使用DATETIME类型。