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