我需要将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秒。
感谢
答案 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分钟