从 MySQL table 中删除制表符、新行等
Remove tabs,new line etc from MySQL table
我需要从 MySQL table 的字段中删除多个空格、制表符、换行符、回车符 return、换页符或垂直制表符。
这里How to remove duplicate white spaces in string using Java?
yourString = yourString.replaceAll("\s+", " ");
我在 JAVA 中找到了预期的结果。我需要 MySQL 中的相同结果。
我还需要将所有单引号替换为双引号。
怎么做。
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', '');
或
UPDATE `table` set `field` = TRIM(REPLACE(REPLACE(REPLACE(REPLACE(`field`,' ',''),'\t',''),'\n',''),'\r',''));
或创建以下存储过程并调用它来删除一行中的多个空白字符
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 ;
"VT"(垂直制表符)字符也有同样的问题。
以下为我们工作:
UPDATE `table` SET `field` = REPLACE(`field`, CHAR(11), '');
为了定位带有这个字符的数据,我们使用了这个:
SELECT * FROM `table` WHERE INSTR(`field`, char(11)) > 0;
我需要从 MySQL table 的字段中删除多个空格、制表符、换行符、回车符 return、换页符或垂直制表符。
这里How to remove duplicate white spaces in string using Java?
yourString = yourString.replaceAll("\s+", " ");
我在 JAVA 中找到了预期的结果。我需要 MySQL 中的相同结果。
我还需要将所有单引号替换为双引号。
怎么做。
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', '');
或
UPDATE `table` set `field` = TRIM(REPLACE(REPLACE(REPLACE(REPLACE(`field`,' ',''),'\t',''),'\n',''),'\r',''));
或创建以下存储过程并调用它来删除一行中的多个空白字符
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 ;
"VT"(垂直制表符)字符也有同样的问题。
以下为我们工作:
UPDATE `table` SET `field` = REPLACE(`field`, CHAR(11), '');
为了定位带有这个字符的数据,我们使用了这个:
SELECT * FROM `table` WHERE INSTR(`field`, char(11)) > 0;