length
ltrim,rtrim
left,right,subtring
locate
定位 —instr
instr(substr,str):返回str在substr字符串里第一次出现的位置,从1开始,没有泽返
回0
select instr('bacd','a')
该行代码表示从bacd字符串中寻找字符a首次出现的位置,输出值为2
![]()
replace(S,S1,S2)
用S2代替S中所有字符串S1
concat
CONCAT函数用于将两个或多个字符串连接起来,形成一个单一的字符串
分割 —SUBSTRING_INDEX
SUBSTRING_INDEX函数用于将字符串依据某个指定分隔符进行切分,并返回指定位置分隔符前的字符。(字段分割符,位置)
如SUBSTRING_INDEX('180,78kg,male,good',',',3)分隔符为逗号,3表示返回第三个逗号前的字符,即180,78kg,male。
假如现在有一列字段以字符串记录了用户的身高体重和性别,如 ‘180,78kg,male',现 在想要分别取出用户的身高和体重,应该怎么做呢?这时就可以用到 SUBSTRING_INDEX函数,指定逗号作为分隔符,如果想要返回身高的话,位置填1,即 可得到相应结果。
select SUBSTRING_INDEX('180,78kg',',',1) as height
如果想要取出体重应该怎么做呢?如果使用下面的代码,结果会返回第二个分隔符前的所有字符,结果为’180,78kg’,会多取出身高的信息。
select SUBSTRING_INDEX('180,78kg',',’,2) as height
这种情况下可以嵌套一次SUBSTRING_INDEX查询,负数位置代表从后向前取
select SUBSTRING_INDEX(SUBSTRING_INDEX('180,78kg',',',2),',',-1) as height
练习
select SUBSTRING_INDEX(SUBSTRING_INDEX('180,78kg,male,good',',',4),',',-2) as height
结果
male,good
搜索mysql string functions 找字符串完整名单