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

sdf*_*for 15 mysql

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

UPDATE `events` 
SET start_time = DATE_ADD(start_time, INTERVAL 12 HOUR)
WHERE `start_time` < '11:00:00'
Run Code Online (Sandbox Code Playgroud)

返回没有错误,但没有改变任何东西,我想因为start_time是一个TIME字段.

UPDATE `events` 
SET start_time = start_time + '12:00:00'
WHERE `start_time` < '11:00:00'
Run Code Online (Sandbox Code Playgroud)

增加12秒.

谢谢

nyb*_*ler 35

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


Aar*_*ams 8

UPDATE `events` 
SET start_time = start_time + INTERVAL 12 HOUR
WHERE `start_time` < '11:00:00'
Run Code Online (Sandbox Code Playgroud)

接受INTERVAL参数的MySQL函数大多是不必要的; 您可以使用+和添加和减去间隔-.