sql:搜索一列中给定的不允许的字符并替换

mctunoxg  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(332)

允许的字符为0-9 a-z a-z和-_
我想搜索mysql数据库中的一列,如果有一些其他字符是允许的,并替换为“-”。
sql有可能吗?
类似这样的东西;)
@数组=(0,1,2,3,4,5,6,7,8,9,,,,,-,,,a-z,a-z);
update table set columnname=replace(columnname,'char不匹配@array','-');
更新:

ID  NUMBER

1   1620WGC-2018_3.2
2   70-30-2015
3   PTMMC4450-2017+
4   PE-1013-64/2018
5   1580-2018_3%2
6   PE-1036-68A-2018
7   D10+

在列编号中,id的3、4、5和7应更正为:

ID  NUMBER

1   1620WGC-2018_3.2
2   70-30-2015
3   PTMMC4450-2017-
4   PE-1013-64-2018
5   1580-2018_3-2
6   PE-1036-68A-2018
7   D10-

因为+、/和%,例如,不在允许字符的数组中。

f3temu5u

f3temu5u1#

你可能需要这个。

SELECT * FROM table WHERE replace(replace(columnName, '\'', ''), '-', '') = 'findMyText'

相关问题