mysql 如何去除表數據當中的回車符,換行符,空格和水平制表符?


1.情景展示

在mysql數據庫中,經常會遇到這樣情況:

某表現有數據,經常會存在:回車符、換行符、制表符或空格,如何把這些多余的符號從數據當中剔除出去?

2.具體分析

通過char()和replace()函數來完成;

char(十進制數字):可以得到對應的ASCII字符;

replace():可以完成字符替換。

3.解決方案

CHAR(9),對應的是:水平制表符;

CHAR(10),對應的是:換行符;

CHAR(13),對應的是:回車符;

CHAR(32),對應的是:空格。

一起先來看看,這些字符長啥樣?

看不出來,我們將其復制到notpad++當中;

並通過設置,將這些對應的符號顯示出來:

相對應的:

第一行是水平制表符;第二行是換行符;第三行是回車符;第三行選中的那個是空格符。

第一步:查詢包含這些字符的數據;

SELECT
	ORGCODE 
FROM
	base_org_info 
WHERE
	LOCATE( CHAR ( 9 ), ORGCODE ) 
	OR LOCATE( CHAR ( 10 ), ORGCODE ) 
	OR LOCATE( CHAR ( 13 ), ORGCODE ) 
	OR LOCATE( CHAR ( 32 ), ORGCODE );

說明:如果嫌麻煩,可以直接進行第二步。

第二步:更新這些數據。

將這些數據的上述特殊空白字符替換成空字符。

UPDATE base_org_info 
SET ORGCODE = REPLACE(REPLACE(REPLACE(REPLACE(ORGCODE,CHAR(13),''),CHAR(10),''),CHAR(9),''),CHAR(32),'');

如果表的數據量不大的話,可以直接替換;

否則的話,還是需要我們加上限制條件的。

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM