MySQL检查和清理不可见字符的实现步骤
作者:小恒恒
在导入Excel表格到MySQL时,由于未进行数据清理,导致字段a出现了大量不可见字符的问题,这些字符包括空格、制表符、换行符和BOM头,下面就来介绍一下如何清理这些字符,感兴趣的可以了解一下
故事背景
今天四大运营商其中一个交给我们一个 Excel 表格,我们没有做任何数据清理就导入 MySQL 了,导致 a 字段出现了大量不可见字符。
检查
检查时,我们要知道不可见字符都有哪些。通常是空格、制表符、换行符、BOM头。这里我们主要清理BOM头,也就是 UTF-8 BOM 头:
SELECT a AS 原始数据, -- 核心处理逻辑:先删BOM头→清空白 TRIM(REPLACE(a, CHAR(0xEF, 0xBB, 0xBF), '')) AS 清理后, LENGTH(a) AS 原始字节长度, CHAR_LENGTH(a) AS 原始字符长度, -- 验证清理后的长度 LENGTH(TRIM(REPLACE(a, CHAR(0xEF, 0xBB, 0xBF), ''))) AS 清理后字节长度, CHAR_LENGTH(TRIM(REPLACE(a, CHAR(0xEF, 0xBB, 0xBF), ''))) AS 清理后字符长度 FROM yys_data WHERE LENGTH(a) != CHAR_LENGTH(a);
清理
所以,对应清理时,也就非常简单:
UPDATE yys_data SET a = TRIM(REPLACE(a, CHAR(0xEF, 0xBB, 0xBF), '')) WHERE LENGTH(a) != CHAR_LENGTH(a);
到此这篇关于MySQL检查和清理不可见字符的实现步骤的文章就介绍到这了,更多相关MySQL检查和清理不可见字符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
