2009-11-16 73 views
3

我已經遇到了轉換函數。據我瞭解,基本的語法是:如何轉換MySQL字段類型?

select convert(columnName, targetFieldType) as newColumnName from table; 

運行此命令,不給我任何錯誤,但是當我檢查的數據類型,他們是不變的。即使我使用提交;數據保持不變。特別是,我試圖將數據與長類型轉換爲varchar。有任何想法嗎?

回答

4

給定SELECT查詢將在新型返回的價值,但它不更改數據庫表的字段類型。

如果你想永久地修改磁盤上的表,使用:

ALTER TABLE table CHANGE columnName newColumnName targetFieldType NOT NULL; 

注意,對於大表,這可能需要一段時間,因爲MySQL重寫整個表。

注意:如果您還想在此列中允許NULL值,請刪除NOT NULL限定符。

欲瞭解更多信息,請參閱ALTER TABLE Syntax in MySQL Reference Manual

1

請注意,您可以輕鬆地通過使用CONCAT轉換什麼性格類型:

select concat(columnName,'') as newColumnName from table; 

你想要轉換成實際的語法如下:

select convert(columnName, char) as newColumnName from table; 

沒有可沒有VARCHAR類型CONVERT或CAST,但在不給出字段長度的情況下轉換爲字符應該是您想要的結果。