mysql - 如何替换mysql字符串中的特殊字符

标签 mysql

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

您好+这+是+优惠!!%+快点!!%0ACall+US+NOW%

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

致以诚挚的问候 希杰

最佳答案

下面的 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 ;

关于mysql - 如何替换mysql字符串中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52005057/

相关文章:

mysql - SQL查询帮助

php - 运营商的问题

mysql - 有什么办法可以提高 GROUP BY 的性能吗?

php - 如何在 if 条件下应用线性搜索(PHP)

python - 如何在sql命令中使用python变量

c# - 使用get方法将数据插入asp.net froms中的数据库

MySQL 按连接的列或函数分组?

mysql - 显示当天预订事件的不同用户

php - 如何获取要显示的四行的首尾行号

mysql - 提高 DATETIME 分组查询性能