How to remove all non-alpha numeric characters from a string in MySQL?(如何从 MySQL 中的字符串中删除所有非字母数字字符?)
问题描述
我正在研究一个比较字符串的例程,但为了提高效率,我需要删除所有不是字母或数字的字符.
I'm working on a routine that compares strings, but for better efficiency I need to remove all characters that are not letters or numbers.
我现在使用多个 REPLACE
函数,但也许有更快更好的解决方案?
I'm using multiple REPLACE
functions now, but maybe there is a faster and nicer solution ?
推荐答案
使用 MySQL 8.0 或更高版本
由下面 michal.jakubeczy 的回答提供,MySQL 现在支持用 Regex 替换:
Using MySQL 8.0 or higher
Courtesy of michal.jakubeczy's answer below, replacing by Regex is now supported by MySQL:
使用 MySQL 5.7 或更低版本
此处不支持正则表达式.我必须创建自己的名为 alphanum 的函数,它为我去除了字符:
Using MySQL 5.7 or lower
Regex isn't supported here. I had to create my own function called alphanum which stripped the chars for me:
现在我可以:
我得到:
万岁!
这篇关于如何从 MySQL 中的字符串中删除所有非字母数字字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!