mySQL中replace的用法

2021-09-07 09:38:55 字數 1403 閱讀 7855

mysql有什麼辦法批量去掉某個字段字元中的空格?不僅是字串前後的空格,還包含字串中間的空格,答案是 replace,使用mysql自帶的 replace 函式,另外還有個 trim 函式。

(1)mysql replace 函式

語法:replace(object,search,replace)

意思:把object**現search的全部替換為replace

案例:update `news` set `content`=replace(`content`,' ','');//清除news表中content欄位中的空格  

(2)mysql trim 函式

語法:trim([ [remstr] from] str)

以下舉例說明:

mysql> select trim(' phpernote  ');  

-> 'phpernote'  

mysql> select trim(leading 'x' from '***phpernote***');  

-> 'phpernote***'  

mysql> select trim(both 'x' from '***phpernote***');  

-> 'phpernote'  

mysql> select trim(trailing 'xyz' from 'phpernotexxyz');  

-> 'phpernotex'  

mysql

資料庫中插入資料的時候,由於疏忽,有一列文字有些行前面多了乙個空格,出於強迫症以及避免以後可能出現問題,我決定把這個空格給乾掉,在網上搜到的方法大多數是直接使用replace:

update example

set col = replace(col, ' ', '') where col replace '^ ';

使用這種方法固然可以把行首的空格去掉,但是列中文字間用於分割詞語的空格也會被去掉,一大片文字會連起來,故不可行。 

後來我想使用replace的時候能不能使用正則來匹配呢,幾番搜尋的結果是不可行。 

最後我想了乙個我認為較為簡單可行的方法:

首先使用concat()在有空格的行前面加乙個字元『x』:

update example

set col = concat('x', col)

where col regexp '^ ';

這樣下來行前面多了兩個字元 『x 『。

然後使用replace來把多的兩個字元一起去掉:

update example

set col = replace(col, 'x ', '') where col regexp '^x ';

mySQL中replace的用法

mysql replace例項說明 update tb1 set f1 replace f1,abc def replace str,from str,to str 在字串 str 中所有出現的字串 from str 均被 to str替換,然後返回這個字串 這個函式用來批量替換資料中的非法關鍵字是...

mySQL中replace的用法

mysql replace函式我們經常用到,下面就為您詳細介紹mysql replace函式的用法,希望對您學習mysql replace函式方面能有所啟迪 mysql replace例項說明 update tb1 set f1 replace f1,abc def replace str,from...

mySQL中replace的用法

mysql replace函式我們經常用到,下面就為您詳細介紹mysql replace函式的用法,希望對您學習mysql replace函式方面能有所啟迪update tb1 set f1 replace f1,abc def replace str,from str,to str 在字串 str...