2013-04-30 34 views
-2

我想更新從yearmonthday的格式整列只是MONTHDAYmysql如何在從20130401格式欄更改整數值0401

例如在此列中的值是20130401,我想將其更改爲0401

+0

此問題沒有顯示任何研究工作。 **做你的作業很重要**。告訴我們你發現了什麼,***爲什麼它不符合你的需求。這表明你已經花時間去嘗試幫助你自己了,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案。 [FAQ](http://stackoverflow.com/questions/how-to-ask)。 – 2013-04-30 19:49:42

+0

我會先創建一個新的列,然後填充新的字段,確保所有的數據都是正確的,然後刪除舊的列。 – 2013-04-30 20:19:14

回答

0

如果你的列是一個VARCHAR列,你可以使用這樣的事情:

UPDATE yourtable 
SET 
    col = DATE_FORMAT(STR_TO_DATE(col, "%Y%m%d"), "%m%d") 

或者只是:

UPDATE yourtable 
SET col = RIGHT(col, 4) 

編輯

如果你需要首先創建一個新列,然後刪除舊列,你可以這樣做:

ALTER TABLE yourtable ADD COLUMN col2 VARCHAR(20); 

UPDATE yourtable 
SET col2 = RIGHT(col, 4); 

ALTER TABLE yourtable DROP COLUMN col; 

請參閱小提琴here