MySQL檢查和清理不可見字符的實現(xiàn)步驟
故事背景
今天四大運(yùn)營商其中一個交給我們一個 Excel 表格,我們沒有做任何數(shù)據(jù)清理就導(dǎo)入 MySQL 了,導(dǎo)致 a 字段出現(xiàn)了大量不可見字符。
檢查
檢查時,我們要知道不可見字符都有哪些。通常是空格、制表符、換行符、BOM頭。這里我們主要清理BOM頭,也就是 UTF-8 BOM 頭:
SELECT a AS 原始數(shù)據(jù), -- 核心處理邏輯:先刪BOM頭→清空白 TRIM(REPLACE(a, CHAR(0xEF, 0xBB, 0xBF), '')) AS 清理后, LENGTH(a) AS 原始字節(jié)長度, CHAR_LENGTH(a) AS 原始字符長度, -- 驗證清理后的長度 LENGTH(TRIM(REPLACE(a, CHAR(0xEF, 0xBB, 0xBF), ''))) AS 清理后字節(jié)長度, CHAR_LENGTH(TRIM(REPLACE(a, CHAR(0xEF, 0xBB, 0xBF), ''))) AS 清理后字符長度 FROM yys_data WHERE LENGTH(a) != CHAR_LENGTH(a);
清理
所以,對應(yīng)清理時,也就非常簡單:
UPDATE yys_data SET a = TRIM(REPLACE(a, CHAR(0xEF, 0xBB, 0xBF), '')) WHERE LENGTH(a) != CHAR_LENGTH(a);
到此這篇關(guān)于MySQL檢查和清理不可見字符的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)MySQL檢查和清理不可見字符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
為mysql數(shù)據(jù)庫添加添加事務(wù)處理的方法
開始首先說明一下,mysql數(shù)據(jù)庫默認(rèn)的數(shù)據(jù)庫引擎是MyISAM,是不支持事務(wù)的,單數(shù)如果你添加了數(shù)據(jù)執(zhí)行語句是不會出錯的,單數(shù)不管用,即便是回滾事務(wù),記錄也是插入進(jìn)去了,所有首先我們要做的第一步是更改數(shù)據(jù)庫引擎2011-07-07
MySQL使用Sequence創(chuàng)建唯一主鍵的實現(xiàn)示例
Sequence提供了更多的靈活性,本文主要介紹了MySQL使用Sequence創(chuàng)建唯一主鍵的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05

