
# U0400032：GaussDB部分支持Convert函数
#### 描述
**数据库类型与版本**
- 源库类型与版本：MySQL 5.5、5.6、5.7、8.0版本。
- 目标库类型与版本：GaussDB所有版本。
**语法示例**
GaussDB B兼容模式V2.0-8.0之前的版本不支持CONVERT函数，函数名需要改写，B兼容模式8.0以及M兼容模式开始支持CONVERT函数。
MySQL中CONVERT方法一般有两种用法，用法一是可以将表达式的类型转换为另一个类型，例如：
**SELECT CONVERT('123', SIGNED);**
在不支持CONVERT函数的版本中这种场景将转换成GaussDB的CAST函数，例如：
**SELECT CAST('123' AS BIGINT);**
用法二是使用USING子句，用于将一个字符串从一个字符集转换到另一个字符集，例如：
**SELECT CONVERT('你好' USING utf8);**
在不支持CONVERT函数的版本中这种场景将转换成GaussDB的CONVERT_FROM函数，例如：
**SELECT CONVERT_FROM('你好', 'utf8');**
但是当转换到GaussDB不支持的类型与字符集上时，UGO将保留CONVERT函数不转换，并生成此错误提示，如下MySQL示例所示，在GaussDB中不支持。
```
SELECT CONVERT('123', UNSIGNED);
SELECT CONVERT('abc' USING ascii);
```
即使在支持CONVERT函数的GaussDB版本中，某些类型（UNSIGNED、BINARY）与字符集仍然不支持。GaussDB支持的字符集请参考《GaussDB开发者指南》。
#### 改造建议
暂无方案，建议改造业务。
