如何从mysql字符串中替换特殊字符

时间:2018-08-24 12:58:11

标签: mysql

mysql数据库中有一个表,它具有字符串,数据类型是文本,插入的数据如下

HELLO + THIS + IS + OFFER !!%+ HURRY !!%0ACall + US + NOW%

如何从此字符串中删除%和+特殊字符,它看起来像编码字符串。

最佳问候 CJ

1 个答案:

答案 0 :(得分:0)

下面的mysql函数从字符串中删除特殊字符:

DROP FUNCTION IF EXISTS replacespecialchars; 
DELIMITER | 
CREATE FUNCTION replacespecialchars( str CHAR(255) ) RETURNS CHAR(255) DETERMINISTIC
BEGIN 
  DECLARE i, len SMALLINT DEFAULT 1; 
  DECLARE ret CHAR(255) DEFAULT ''; 
  DECLARE c CHAR(1); 
  SET len = CHAR_LENGTH( str ); 
  REPEAT 
    BEGIN 
      SET c = MID( str, i, 1 );
      IF c REGEXP '[[:alnum:]]' THEN 
        SET ret=CONCAT(ret,c); 
      END IF; 
      SET i = i + 1; 
    END; 
  UNTIL i > len END REPEAT; 
  RETURN ret; 
END | 
DELIMITER ;