九mysql常见的文本函数的应用(replacetrimsu
前言:
在MYSQL数据库的使用中,业务数据的增删改查离不开数据治理,当然,这就会涉及到数据库系统内置的一些文本处理函数的使用,来实现数据的规范处理,达到业务应用的目的,涉及到的方法可能包含以下内容:
1、替换:replace(需替换的字段,被替换的字符,替换的内容)
2、截取:substr(需处理的数字和字符串,从1开始的下标序号,截取字符的长度)
3、分割:substringindex(字段,分割符号,M)M指第几个分割符,有正负之分
4、拼接:concat(字段1,字段2,字段3,。。。。。。)
5、字串检索:locate(待检索的字串,字段,检索起始位置〔数字,默认1〕)
6、小写转换:lower(待转换的字串)
7、大写转换:upper(待转换的字串)
8、长度返回:length(待计算长度的字串)
9、左截取:left(待提取的字符串,指定将从左边返回的字符数)
10、右截取:right(待提取的字符串,指定将从右边返回的字符数)
11、删除指定字串:trim(bothleadingtrailing子串from原始字段)
12、清除左空格:ltrim(需要删除左侧空格的字符串)
13、清除右空格:rtrim(需要删除右侧空格的字符串)
14、返回字符串的位置:position(在字符串中搜索的子串in要搜索的原始字符串)
模拟数据:
图1总模拟数据应用1、替换:replace(需替换的字段,被替换的字符,替换的内容)selectid,othername,replace(othername,,替换内容)fromclassscorewhereid2
查询结果:
图2replace应用2、截取:substr(需处理的数字和字符串,从1开始的下标序号,截取字符的长度)selectid,bobby,substr(bobby,1,4)fromclassscorewhereid2
查询结果:
图3substr
应用3、分割:substringindex(字段,分割符号,M)M指第几个分割符,有正负之分selectid,bobby,substringindex(bobby,,,1)fromclassscorewhereid2若M数字为正,从左往右,查询的是第M分隔符左边所有的内容
查询结果:
图4substringindexselectid,bobby,substringindex(bobby,,,1)fromclassscorewhereid2若M数字为负,从右往左,查询的是第M分隔符右边所有的内容
查询结果:
图5substringindex应用4、拼接:concat(字段1,字段2,字段3,。。。。。。)selectid,name,six,subject,concat(name,,six,,subject)asdescfromclassscore
查询结果:
图6concat应用5、字串检索:locate(待检索的字串,字段,检索起始位置〔数字,默认1〕)selectid,name,othername,locate(a,othername,2)asdesctionfromclassscorewhereid12
从othername查找a第一次出现的位置。如果a不在othername中,则返回值为0。
查询结果:
图7locate应用6、小写转换:lower(待转换的字串)selectid,name,othername,lower(othername)fromclassscorewhereid2
查询结果:
图8lower应用7、大写转换:upper(待转换的字串)selectid,name,othername,upper(othername)fromclassscorewhereid1
查询结果:
图9upper应用8、长度返回:length(待计算长度的字串)selectid,name,othername,length(othername)fromclassscorewhereid2
查询结果:
图10length应用9、左截取:left(待提取的字符串,指定将从左边返回的字符数)selectid,name,othername,left(othername,2)fromclassscorewhereid12
查询结果:
图11left应用10、右截取:right(待提取的字符串,指定将从右边返回的字符数)selectid,name,othername,right(othername,3)fromclassscorewhereid12
查询结果:
图12right应用11、删除指定字串:trim(bothleadingtrailing子串from原始字段)SELECTtrim(xhx)AS删除指定字符串中的空格,trim(LEADINGxFROMxxhhxx)AS删除指定的首字符,trim(BOTHxFROMxxxhhhxxxhhhxxx)AS删除指定的首尾字符,trim(TRAILINGxFROMxxxhhhxxxhhhxxx)AS删除指定的尾字符
查询结果:
图13trim应用12、清除右空格:rtrim(需要删除右侧空格的字符串)SELECTrtrim(xhx)AS清除右边空格,REPLACE(rtrim(xhx),,)AS验证结果
查询结果:
图14rtrim应用13、清除左侧空格:ltrim(需要删除左侧空格的字符串)SELECTltrim(xhx)AS清除左侧空格,REPLACE(ltrim(xhx),,)AS验证结果
查询结果:
图15ltrim应用14、返回字符串的位置:position(在字符串中搜索的子串in要搜索的原始字符串)SELECTPOSITION(ainsaggxx)as字符a出现的位置若字符串没有所查询的字符则返回0
查询结果:
图16position