如何转换MySQL字段类型?

问题描述:

我已经遇到了转换函数。据我了解,基本的语法是:如何转换MySQL字段类型?

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

运行此命令,不给我任何错误,但是当我检查的数据类型,他们是不变的。即使我使用提交;数据保持不变。特别是,我试图将数据与长类型转换为varchar。有任何想法吗?

给定SELECT查询将在新型返回的价值,但它不更改数据库表的字段类型。

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

ALTER TABLE table CHANGE columnName newColumnName targetFieldType NOT NULL; 

注意,对于大表,这可能需要一段时间,因为MySQL重写整个表。

注意:如果您还想在此列中允许NULL值,请删除NOT NULL限定符。

欲了解更多信息,请参阅ALTER TABLE Syntax in MySQL Reference Manual

请注意,您可以轻松地通过使用CONCAT转换什么性格类型:

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

你想要转换成实际的语法如下:

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

没有可没有VARCHAR类型CONVERT或CAST,但在不给出字段长度的情况下转换为字符应该是您想要的结果。