mysql - MySQL中有正则表达式替换的功能吗?

标签 mysql regex string replace

我有一个表需要存储一些名称,并且在与另一个字符串进行比较之前我需要替换一些字符

例如,我的表数据是

<小时/>
abc
ghi:dki
ioe  dsa
<小时/>

我从用户那里读取了一个字符串,其形式为 abc , ghi-dki , ioe-dsa 。即,所有空格、多个空格和符号都转换为连字符(-)。现在我需要比较。类似的东西

SELECT MYCOLUMN FROM MYTABLE WHERE {Converted MYCOLUMN} = 'ghi-dki'

有人可以帮我找出哪个 MySQL 函数可以做到这一点吗?

最佳答案

您无法在 MySQL 中进行正则表达式替换,但可以进行匹配。

SELECT mycolumn FROM tablename WHERE mycolumn REGEXP Replace('ghi-dki', '-', '^[\s:_-]*$');

注意:我没有完全填写符号字符集,您必须添加您正在使用的任何内容。

关于mysql - MySQL中有正则表达式替换的功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22320448/

相关文章:

mysql - 为什么有些表以主键 ASC 输出数据,而有些则不指定顺序?

Python Selenium 等待任何文本

c++ - SHGetFolderPath 在分发版本中返回垃圾字符串

c++ - 将字符串中的小写字母转换为大写字母

创建具有 2 个外键作为主键的表时 MySQL 语法错误

Php/Mysql 计算每个时刻的舞者添加问题

mysql - 当 CPU 使用率达到 100% 时,MySQL 会发生什么情况?

正则表达式根据文件扩展名列表获取文件名

java - 带有正则表达式的Android拆分字符串不起作用

java - 在文本文件中查找唯一的单词