2011-01-30 70 views
11

我需要將12小時添加到mysql TIME字段(而不是DATETIME),並且遇到問題。Mysql將12小時添加到時間字段

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秒。

謝謝

回答

29

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

+0

它的作品!謝謝,addtime必須是新的它不在我的手冊 – sdfor 2011-01-30 02:53:42

+0

@sdfor:很高興聽到它。對於手冊,我傾向於更多地依賴在線內容。對於mysql,你可以使用http://dev.mysql.com/doc/ – nybbler 2011-01-30 03:03:28

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

DATE_ADD正常工作與時間戳等,但不隨時間

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

接受INTERVAL論據大多是不必要的MySQL的功能;你可以用+-加上和減去間隔。

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` 
相關問題