我想从 mysql 的列中删除所有或特定的不可打印字符。
我认为这可以通过使用来实现正则表达式_替换()功能但我不知道如何。
不可打印字符的 Ascii 值从 o 到 31。
我想了一个解决方案,如下所示:
如果我编写一个函数,从输入字符串中一一读取所有字符并转换为 ASCII。然后每次我将此 Ascii 值与输入的 ascii 值进行比较,如果匹配则替换它,我的函数将返回替换的字符串。
但在我的应用程序中,数据总是大量的,所以我认为即使我使用选择查询和用户定义的函数,它也会消耗大量的处理时间。
所以我想要替代方法来执行此任务。我认为正则表达式_替换()会很棒,但我不知道如何使用它
请帮忙
谢谢你,
罗纳克
DROP function IF EXISTS mysql_replaceallnonprintablecharacters;
CREATE function mysql_replaceallnonprintablecharacters (data VARCHAR(1024))
returns VARCHAR(1024)
begin
DECLARE i INT DEFAULT 0;
DECLARE finaldata VARCHAR(1024) DEFAULT '';
SET FINALDATA:=data;
WHILE i < 31 do
SET FINALDATA:=REPLACE(finaldata, CHAR(i), '');
SET i := i+1;
end WHILE;
RETURN finaldata;
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)