允许的字符为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-
因为+,/和%,例如,不在包含允许字符的数组中。
你可能需要这个。
SELECT * FROM table WHERE replace(replace(columnName, '\'', ''), '-', '') = 'findMyText'