Mysql在一个时间字段中添加12个小时

时间:2011-01-30 02:47:49

标签: mysql

我需要将12个小时添加到mysql TIME字段(不是DATETIME),我遇到了麻烦。

UPDATE `events` 
SET start_time = DATE_ADD(start_time, INTERVAL 12 HOUR)
WHERE `start_time` < '11:00:00'

返回时没有错误,但没有改变任何内容,我认为因为start_time是一个TIME字段。

UPDATE `events` 
SET start_time = start_time + '12:00:00'
WHERE `start_time` < '11:00:00'

增加12秒。

感谢

5 个答案:

答案 0 :(得分:33)

尝试使用ADDTIME而不是DATE_ADD。你可以做SET start_time = ADDTIME(start_time, '12:00:00')

答案 1 :(得分:8)

UPDATE `events` 
SET start_time = start_time + INTERVAL 12 HOUR
WHERE `start_time` < '11:00:00'

接受INTERVAL参数的MySQL函数几乎是不必要的;您只需使用+-添加和减去时间间隔。

答案 2 :(得分:2)

set start_time = ADDTIME(start_time,'12:00:00')

DATE_ADD可以正常使用时间戳等,但不适用于TIME

答案 3 :(得分:1)

如果开发人员不想更新数据并希望增加数小时或数分钟的时间。它可以按照以下方式完成:

开发人员可以使用AddTime()函数add hours to time column in MySQL。 它可以像下面这样使用:

AddTime(COLUMN,’01:00:00′) to add an hour in MySQL time column
AddTime(COLUMN,’00:01:00′) to add a minute in MySQL time column

sql查询示例:

select id,name,AddTime(login_time,'01:00:00') as login_time FROM `table`

答案 4 :(得分:1)

update my_table SET modified_date = ADDTIME(scheduled_date, '03:15:00') 

这将在Modifyed_date中增加3小时15分钟