更新时间:2025-06-04 GMT+08:00
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开发者指南》。
改造建议
暂无方案,建议改造业务。