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。

转移符 原字符 中文意思
< < 小于符号
> > 大于符号
& &
' 单引号
" 双引号

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

你可能感兴趣的:(数据库,MySQL)