MySql如何去除字符串前缀,两边,后缀

来自:网络
时间:2022-12-27
阅读:
目录

MySql去除字符串前缀,两边,后缀

效果

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的数据

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

返回顶部
顶部