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
REGEX\u REPLACE
)。安装的MySQL版本相同:8.0.11。升级解决了问题,谢谢!不使用普遍使用的utf8而不是很少使用的utf16的某些原因会改变?否。如果表中已有数据,则可能需要使用ALTER
的转换为变量。