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

问题描述 投票:0回答:1

允许的字符为0-9 A-Z a-z和。-_

Ich想要在一个列中搜索MySQL数据库,如果允许其他一些字符并用“ - ”替换它们。

是否可以使用SQL?

像这样的东西;)

@ARRAY =(0,1,2,3,4,5,6,7,8,9,。, - ,_,A-Z,a-z);

UPDATE表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+

在NUMBER列中,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-

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

mysql sql database replace pattern-matching
1个回答
0
投票

你可能需要这个。

SELECT * FROM table WHERE replace(replace(columnName, '\'', ''), '-', '') = 'findMyText'
© www.soinside.com 2019 - 2024. All rights reserved.