可能重複:
Merge date from one datetime and time from another datetime合併場的兩列在MySQL
我如何可以物理合並兩個MySQL列/字段合併到一列/場,而不會丟失它
任何數據具體來說,我將組合日期和時間列/字段
謝謝
可能重複:
Merge date from one datetime and time from another datetime合併場的兩列在MySQL
我如何可以物理合並兩個MySQL列/字段合併到一列/場,而不會丟失它
任何數據具體來說,我將組合日期和時間列/字段
謝謝
與timestamp
功能添加您的時間戳字段,進行初始化,然後,一旦你感到安全,防摔舊的專欄。事情是這樣的:
alter table your_table add timestamp_column timestamp;
update your_table set timestamp_column = timestamp(date_column, time_column);
-- Pause and make sure everything is okay.
-- Take your time, the database will wait.
alter table your_table drop column date_column;
alter table your_table drop column time_column;
alter table your_table modify timestamp_column timestamp not null;
像魅力一樣工作謝謝 –
通過「合併」,你的意思是「添加」?這聽起來像是你在不同的領域得到了日期和時間,所以把它們放在一起與添加它們是一回事。
如果是這樣的話,你可以使用MySQL的ADDTIME()
功能:
mysql> SELECT ADDTIME(aDate, aTime) FROM aTable;
如果你的意思是將它們連接起來,那麼MySQL有一個CONCAT()函數...但它似乎並不適合你的目的。
--edited--
如果它是你後另一列,這是一個兩步的過程:
-- Add the column
mysql> ALTER TABLE aTable ADD COLUMN aDateTime DateTime DEFAULT NULL;
-- Insert the data
mysql> UPDATE aTable SET aDateTime = ADDTIME(aDate, aTime);
但在這之後,你必須保持它在所有三個列。即,當您添加/更改aDate
或aTime
時,aDateTime
不會自動更新。
我是什麼意思就是將兩列物理結合成一個物體,這意味着將會創建一個新列。任何解決方案,我可以做到這一點?謝謝 –
啊,明白了。剛編輯答案。我沒有在我面前的終端,所以它是完全未經測試......但它應該幫助你的方式。 –
我試過你的代碼,它的工作,我從它學到的東西謝謝=) –
我不想,如果你想創建一個新的領域,但以防萬一你想做到這一點
alter table t add yournewfield datetime not null;
UPDATE table t SET younerwfield = addtime(t.date,t.time);
改變表線程添加dtposted日期時間不爲空; 更新表線程SET dtposted = addtime(threads.dateposted,threads.dateposted); 我做了這樣的事情,列已成功創建,但在UPDATE語句上有錯誤 –
請確保所有屬性都有正確的名稱 –
看看這個http://stackoverflow.com/questions/2383133/merge-date-from-one-datetime-and-time-from-another-datetime –