Mysql 使用REGEXP\u REPLACE的Wierd结果-聚合字符串

Mysql 使用REGEXP\u REPLACE的Wierd结果-聚合字符串,mysql,regex,mysql-8.0,Mysql,Regex,Mysql 8.0,我正在尝试使用REGEXP\u REPLACE将一些字母替换为其他字母 这是我的查询-我将使用sakilasample数据库: SELECT first_name, CONVERT(REGEXP_REPLACE(first_name,'a','d') USING utf16) AS replaced FROM sakila.actor 这就是结果(MySql Workbench,8.0.11)-如您所见,结果是“聚合的”: 我试着复制它,但它不复制 为什么会发生这种情况? 为什

我正在尝试使用
REGEXP\u REPLACE
将一些字母替换为其他字母

这是我的查询-我将使用
sakila
sample数据库:

SELECT first_name,
       CONVERT(REGEXP_REPLACE(first_name,'a','d') USING utf16) AS replaced
FROM sakila.actor
这就是结果(MySql Workbench,8.0.11)-如您所见,结果是“聚合的”:

我试着复制它,但它不复制

为什么会发生这种情况?

  • 为什么要使用utf16

  • REPLACE
    执行作业时,为什么要使用
    REGEXP\u REPLACE
    ?(切换可能会解决问题。)

  • 在某些版本中有一个bug,它可能会导致不断延长的结果。请参阅,这是在8.0.12中固定的。升级

  • 无论您使用的是什么版本的工作台;您使用的是什么版本的MySQL


嗯,我的代码片段只是我原始代码的一个最小的、完整的、可验证的代码片段,它查询希伯来文字母(因此是utf16)以使用特定模式删除发音符号(因此是
REGEX\u REPLACE
)。安装的MySQL版本相同:8.0.11。升级解决了问题,谢谢!不使用普遍使用的utf8而不是很少使用的utf16的某些原因会改变?否。如果表中已有数据,则可能需要使用
ALTER
转换为
变量。