在MySQL中有没有用于正则表达式替换的函数?

33 浏览
0 Comments

在MySQL中有没有用于正则表达式替换的函数?

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

例如,我的表格数据是


abc
ghi:dki
ioe  dsa


我从用户那里读取一个字符串,它的形式是abcghi-dkiioe-dsa。也就是说,所有的空格、多个空格和符号都被转换为连字符(-)。现在我需要进行比较,类似于

SELECT MYCOLUMN FROM MYTABLE WHERE {转换后的MYCOLUMN} = 'ghi-dki'

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

0
0 Comments

MySQL中没有提供正则表达式替换的函数,但可以使用匹配操作来实现。

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

注意:这里没有完整填写符号字符集,你需要根据自己的需求添加。

0