MySQL 去除欄位中的換行和斷行符號符

來源:互聯網
上載者:User

UPDATE SMS_PROVINCE SET PROVINCENAME = REPLACE(REPLACE(PROVINCENAME, CHAR(10),''), CHAR(13),'');

環境: RHEL5+MySQL

解決方案:

UPDATE tablename SET  field = REPLACE(REPLACE(field, CHAR(10), ”), CHAR(13), ”);

char(10):  分行符號

char(13):  斷行符號符

問題產生原因:

2種方法產生excel模式的報表:

1)手動產生

將表中的資料匯出,產生CSV檔案。

用mysqldump 匯出資料

#mysqldump -u xxx -p --tab=/tmp/ --fields-terminated-by="#" DBName TBName

將會在tmp目錄下產生TBName.txt 檔案。

在EXCEL中匯入產生的txt檔案

2)直接產生csv格式檔案

mysqldump -u samu -p -T --fields-terminated-by=","  --fields-enclosed-by=""

--lines-terminated-by="\n"  --fields-escaped-by=""  test Customer

或者:

mysqldump -u samu -p --tab=/tmp/ --fields-terminated-by=","  --fields-enclosed-by=""

--lines-terminated-by="\n"  --fields-escaped-by=""  test Customer

但是,無論上面哪一種方法,如果表的某個列裡包含斷行符號符或者分行符號,

那麼產生的CSV檔案或者進行excel匯入,都會將原本的1行資料,拆分成2行。

因為CSV或者excel匯入,是按資料的行來認定資料條數。

所以,必須在此之前,將欄位中的斷行符號符或者分行符號,進行替換。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.