Mysql字符串拼接、截取、替换

一. 字符串拼接

concat('asdf',str);

说明: 拼接asdf 和 str

二. 字符串截取

  • 从左开始截取字符串

left(str, length)

说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from tablename

  • 从右开始截取字符串

right(str,length)

说明:right(被截取字段,截取长度) 例:select right(content,200) as abstract from tablename

  • 按长度截取字符串

substring(str, pos)
substring(str, pos, length)

常用如下:截取表aa中f001'https://'后至字段结尾的内容

eg.表名aa
f001 f002
https://mp.csdn.net/postedit/102718403 1
https://i.csdn.net/#/uc/profile 2
select substring(f001,9,length(f001))
from data_aa

说明:substring(被截取字段,从第几位开始截取) substring(被截取字段,从第几位开始截取,截取长度) 例:
select substring(content,5) as abstract from tablename
select substring(content,5,200) as abstract from tablename
(注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度)

  • 按关键字截取字符串

substring_index(str,delim,count)

说明:substring_index(被截取字段,关键字,关键字出现的次数) 例:
SELECT SUBSTRING_INDEX(page ,' ',1) ,page FROM tablename
(注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束)

SUBSTRING(str,  INSTR(str, delim) + count)

说明: SUBSTRING(被截取的字符串, INSTR(被截取的字符串, 关键字) + 关键字长度) 例:
select SUBSTRING(page, INSTR(page, ' number ') + 8),page from tablename
INSTR(字段名, 字符串)
这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始)
(注: 截取的是关键字之后的字符串)

三. 字符串替换

replace(str,original,replace)

说明:replace(字符串,被替换的字符串,替换成的字符串) 例:
SELECT replace(street ,’asdf ‘,”) ,street FROM tablename 讲street中的asdf替换为空

你可能感兴趣的:(Mysql字符串拼接、截取、替换)