故事背景
今天四大运营商其中一个交给我们一个 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检查和清理不可见字符内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论