首頁 > 軟體

MySql如何去除字串字首,兩邊,字尾

2022-08-29 14:03:50

MySql去除字串字首,兩邊,字尾

效果

語句

select supplierNum, trim(LEADING '0' from supplierNum) from t_claim_saleclaim
   

Trim 函數

TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string)

這裡,引數

  • BOTH:表示要從字串中刪除的左右字首。
  • LEADING:表示只刪除前導字首。
  • TRAILING:表示僅刪除尾隨字首。
  • Str_to_remove:表示要從字串中刪除的字串。

字串參數列示必須從中刪除字首的字串。

MySql字串處理常用方法

1.在mybatis的Mapper.xml的sql語句中

不能直接用大於號、小於號要用跳脫字元

如果用小於號會報錯誤如下:

org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup。

轉移符原字元中文意思
&lt;<小於符號
&gt;>大於符號
&amp;&
&apos;單引號
&quot;雙引號

2.trim()的使用

trim函數可以過濾指定的字串:

  • 完整格式:TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
  • 簡化格式:TRIM([remstr FROM] str)

返回字串 str , 其中所有remstr字首和/或字尾都已被刪除。若分類符BOTH、LEADIN或TRAILING中沒有一個是給定的,則假設為BOTH。remstr為可選項,在未指定情況下,可刪除空格。

mysql> SELECT TRIM(' bar ');
-> 'bar'
mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); --刪除指定的首字元 x
-> 'barxxx'
mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); --刪除指定的首尾字元 x
-> 'bar'
mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); --刪除指定的尾字元 x
-> 'barx'

mysql中的去除左空格函數:

LTRIM(str);

mysql> SELECT LTRIM(' barbar');
-> 'barbar'

mysql中的去除右空格函數:

RTRIM(str):

mysql> SELECT RTRIM('barbar ');
-> 'barbar'

3.字串拆分:SUBSTRING_INDEX(str, delim, count)

引數解說

引數名解釋
str需要進行替換的字串
from_str需要被替換的字串
to_str需要替換的字串

範例:

SUBSTRING_INDEX(s.params,'&',1) --獲取第一個&分隔符之前的所有字元

4.替換函數:replace( str, from_str, to_str)

引數名解釋
str需要進行替換的字串
from_str需要被替換的字串
to_str需要替換的字串

範例:

REPLACE('label_name=[茶光村65號901]','label_name=[','') --將label_name=[替換為空格

5.獲取字串長度:LENGTH( str )

引數名解釋
str需要計算長度的字串

範例:

where LENGTH(h.hot_words)>0 --判斷h.hot_words欄位長度大於0的資料

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com