
# 表字段类型转换失败的解决方法
#### 场景描述
varchar字段使用char类型读取，不能用如下所示的方式转换：
![](https://support.huaweicloud.com/trouble-rds-mysql/zh-cn_image_0000002212222752.png "点击放大")
#### 故障分析
char()函数不能用于转换数据类型。
#### 解决方案
RDS for MySQL的CAST()和CONVERT()函数可用来获取一个类型的值，并产生另一个类型的值。两者具体的语法如下：
```
CAST(value as type);
CONVERT(value, type);
```
就是CAST(xxx AS 类型), CONVERT(xxx,类型)。
![](https://support.huaweicloud.com/trouble-rds-mysql/public_sys-resources/note_3.0-zh-cn.png)
可以转换的类型是有限制的。这个类型可以是以下值其中的一个：
- 二进制，同带binary前缀的效果 : BINARY；
- 字符型，可带参数 : CHAR()；
- 日期 : DATE；
- 时间: TIME；
- 日期时间型 : DATETIME；
- 浮点数 : DECIMAL；
- 整数 : SIGNED；
- 无符号整数 : UNSIGNED。
 
