MYSQL字符串的拼接,截取,替换,查找位置

常用的字符串函数

函数 说明
CONCAT(str1,str2,...) 返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为null则返回值为null
CONCAT_WS(x,str1,str2,...) 返回多个字符串拼接之后的字符串,每个字符串之间有一个x
SUBSTRING(str,index,len),MID(str,index,len) 两个函数作用相同,从字符串str中返回一个 第index个字符开始,长度为len的字符串。
LEFT(str,n),RIGHT(str,n) 前者返回字符串str从左边开始的n个字符,后者返回字符串str从最右边开始的n个字符
INSERT(str1,index,len,str2) 返回字符串str1,其子字符串起始于位置index,被字符串str2取代len个字符
REPLACE(str,str1,str2) 返回一个字符串,用字符串str2替代字符串str中所有的字符串str1
LOCATE(str1,str),POSITION(str1 IN str),INSTR(str,str1) 三个函数作用相同,返回字符串str1在字符串str中的开始位置(从第几个字符开始)
FIELD(str,s1,s2,......) 返回第一个与字符串str匹配的字符串的位置

1.字符串的拼接

  1.1 CONCAT(str1,str2,...)

    返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为null则返回值为null

    sql:  SELECT CONCAT('现在的时间:',NOW())

    结果:  现在的时间:2019-07-10 21:15:15

  1.2 CONCAT_WS(x,str1,str2,...)

    返回多个字符串之后的字符串,每个字符串之间有一个x    

    sql:  SELECT CONCAT_WS('*','asdf','dgfg','dfdfgh')

    结果:  asdf*dgfg*dfdfgh

2. 字符串的截取

  2.1 SUBSTRING(str,index,len)  MID(str,index,len)

    两个函数作用相同,从字符串str中返回第index个字符开始,长度为len的字符串

    sql:  SELECT SUBSTRING('123456789',4,3)

    结果:  456

    sql:  SELECT MID('123456789',3,2)

    结果:  34

  2.2 LEFT(str,n)  RIGHT(str,n)

    前者返回字符串str从最左边开始的第n个字符,后者返回字符串str从最右边开始的第n个字符

    sql:  SELECT LEFT('123456789',4)

    结果:  1234

    sql:  SELECT RIGHT('123456789',4)

    结果:  6789

3. 字符串的替换

  3.1 INSERT(str1,index,len,str2)

    返回字符串str1,其子字符串起始于位置index,被字符串str2取代len个字符

    sql:  SELECT INSERT('abcdefg',2,3,'#')

    结果:  a#efg

  3.2 REPLACE(str,str1,str2)

    返回一个字符串,用字符串str2替代字符串str中的所有的字符串str1    

    sql:  SELECT REPLACE('123456789','123','#')

    结果:  #456789

4. 字符串的查询位置

  4.1 LOCATE(str1,str)  POSITION(str1 in str)  INSTR(str,str1)

    三个函数作用相同,返回自字符串str1在字符串str中的开始位置(从第几个字符开始)

    sql:  SELECT LOCATE('c','abcdefg')

    结果:  3

    sql:  SELECT POSITION('c' IN 'abcdefg')

    结果:  3

    sql:  SELECT INSTR('abcdefg','c')

    结果:  3

  4.2 FIELD(str,str1,str2,...)

    返回第一个与字符串str匹配的字符串的位置

    sql:  SELECT FIELD('c','b','c','d','e')

    结果:  2

原文地址:https://www.cnblogs.com/ninglinglong/p/13924703.html