您当然可以使用MySQL进行字符串替换。在官方文件列出相当多的字符串函数您可能会发现有用的。
SELECT REPLACE('Foo Bar!~~~~', '~', '');SELECT LOWER('Foo Bar!');我还浏览了有关在MySQL中使用正则表达式的博客文章。
更新:我提到的博客文章的详细信息:
因此,我建议创建一个用于执行正则表达式替换的函数:
DELIMITER $$FUNCTION `regex_replace`(pattern varchar(1000),replacement varchar(1000),original varchar(1000))RETURNS varchar(1000)DETERMINISTICBEGINDECLARE temp VARCHAr(1000);DECLARE ch VARCHAr(1);DECLARE i INT;SET i = 1;SET temp = original;IF original REGEXP pattern THEN SET temp = ""; loop_label: LOOP IF i>CHAR_LENGTH(original) THEN LEAVE loop_label; END IF; SET ch = SUBSTRINg(original,i,1); IF NOT ch REGEXP pattern THEN SET temp = CONCAt(temp,ch); ELSE SET temp = CONCAt(temp,replacement); END IF; SET i=i+1;END LOOP;END IF;RETURN temp;END$$DELIMITER ;
然后类似于以下内容
SELECT regex_replace('[^a-zA-Z0-9]+', '', '%$&?/鈥檤test><+-,][)(' )如果您对这种方法不满意,则始终可以使用replace运行一些更新调用
update db_products set Slug_Name = replace(Name, '~', '');



