从MySQL表中删除制表符,换行符等

Kan*_*nan 2 mysql replace special-characters

我需要从MySQL表的字段中删除多个空格,制表符,换行,回车,换页或垂直制表符。

此处如何使用Java删除字符串中的重复空格?

yourString = yourString.replaceAll("\\s+", " ");
Run Code Online (Sandbox Code Playgroud)

我在JAVA中找到了预期的结果。我在MySQL中需要相同的结果。

另外,我需要将所有单引号替换为双引号。

怎么做 。

ann*_*nna 8

UPDATE `table` SET `field` = REPLACE(`field`, ' ', '');
UPDATE `table` SET `field` = REPLACE(`field`, '\t', '' );
UPDATE `table` SET `field` = REPLACE(`field`, '\n', '');
UPDATE `table` SET `field` = REPLACE(`field`, '\r', '');
Run Code Online (Sandbox Code Playgroud)

要么

UPDATE `table` set `field` = TRIM(REPLACE(REPLACE(REPLACE(REPLACE(`field`,' ',''),'\t',''),'\n',''),'\r',''));
Run Code Online (Sandbox Code Playgroud)

或创建以下存储过程并调用它以连续删除一个以上的空白字符

DELIMITER |
    CREATE PROCEDURE myProc()
    BEGIN 
      DECLARE affected INT DEFAULT 1; 
       WHILE affected > 0 DO
         UPDATE `table` set `field` = TRIM(REPLACE(REPLACE(REPLACE(REPLACE(`field`,' ',''),'\t',''),'\n',''),'\r',''));
         SELECT ROW_COUNT() INTO affected;  
       END WHILE; 
    END |
DELIMITER ;  
Run Code Online (Sandbox Code Playgroud)