如何在MySQL-10.4.24-MariaDB中用REGEXP_REPLACE移除所有,和|?
解决MariaDB中REGEXP_REPLACE移除逗号和竖线的问题
你之前的语句失效是因为正则表达式写法错误:|是正则的特殊元字符(表示“或”逻辑),直接写|,会被解析成“匹配空字符串 或 逗号”,根本无法匹配竖线,自然达不到移除两种字符的效果。
正确的写法有两种:
- 推荐:使用字符类(字符类内的特殊字符无需转义,写法更清晰)
SELECT REGEXP_REPLACE('123,|4abcd, aaa|,qqq|a', '[,|]', '', 'g');
- 转义特殊字符后使用或操作
SELECT REGEXP_REPLACE('123,|4abcd, aaa|,qqq|a', '\||,', '', 'g');
执行任意一种语句后,都会得到结果:1234abcd aaaqqqa,所有逗号和竖线都被移除。
内容的提问来源于stack exchange,提问作者Karim Ali
相关产品推荐
相关产品推荐

