如何转换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,但在不给出字段长度的情况下转换为字符应该是您想要的结果。