【MySQL】字符串函数

94 阅读4分钟

本人已参与「新人创作礼」活动,一起开启掘金创作之路。

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第19天,点击查看活动详情

目录

14C9E12F.gif 今天阿文介绍的内容为:

  • 什么是字符串函数
  • 7大种类字符串函数

字符串函数

字符串函数主要用来处理数据库中的字符串数据。在许多工作要求中,字符串的操作也是必不可少的,例如:将2个字符串合并、计算字符串的长度、字符串的匹配等,MySQL中含有许多字符串函数来解决这些需求。

1.CHAR_LENGTH(str)和LENGTH(str)

CHAR_LENGTH(str)参数说明:

  • 函数返回值为字符串str所包含的字符个数。如果是一个多字节字符算作一个单字符。

LENGTH(str)参数说明:

  • 函数返回值为字符串的字节长度,当使用utf8编码字符集时,一个汉字是3个字节,一个数字或字母算一个字节。

####例如:

SELECT CHAR_LENGTH("abc'abc'") ,CHAR_LENGTH("张三"), CHAR_LENGTH("ABC"),LENGTH("abc'abc'"),LENGTH("张三"),LENGTH("ABC");

输出结果为:

image.png

2.CONCAT(S1,S2,...)、CONCAT_WS(X,S1,S2,...)

CONCAT(s1,s2,…)参数说明:

  • 函数返回结果为连接参数产生的字符串,或许有一个或多个参数。
  • 如有任何一个参数为NULL,则返回值为NULL。

CONCAT_WS(x,s1,s2,…)函数说明:

  • 第一个参数x是其他参数的分隔符,分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其他参数。
  • 如果分隔符为NULL,则结果为NULL。函数会忽略任何分隔符参数后的NULL值。

例如:

SELECT CONCAT("zhang","san"),CONCAT("zhangsan",NULL),CONCAT_WS("-","zhang","san"),CONCAT_WS("-","zhang",NULL,"san");

输出结果为:

image.png

3.INSERT(s1,x,len,s2)

INSERT(s1,x,len,s2)参数说明:

  • 函数返回字符串s1,其子字符串起始于x位置和被字符串s2取代的len字符。(x是从1开始计数)
  • 如果x超过字符串长度,则返回值为原始字符串。
  • 假如len的长度大于其他字符串的长度,则从位置x开始替换。
  • 若任何一个参数为NULL,则返回值为NULL。

例如:

SELECT INSERT("zhangsan",1,5,"li"),INSERT("zhangsan",10,5,"li"),INSERT("zhangsan",6,100,"li"),INSERT("zhangsan",1,5,NULL);

输出结果为:

image.png

4.LOWER(str)和LCASE(str)

LOWER(str)和LCASE(str)参数说明:

  • 将字符串str中的字母字符全部转换成小写字母。

例如:

SELECT LOWER("ZHANGSAN"),LCASE("ZHANGSAN");

输出结果为:

image.png

5.UPPER(str)和UCASE(str)

UPPER(str)和UCASE(str)参数说明:

  • 将字符串str中的字母字符全部转换成大写字母。

例如:

SELECT UPPER("zhangsan"),UCASE("zhangsan");

输出结果为:

image.png

6.LEFT(s,n)和RIGHT(s,n)

LEFT(s,n)参数说明:

  • 函数返回字符串s开始的最左边n个字符

RIGHT(s,n)参数说明:

  • 函数返回字符串s最右边的n个字符

例如:

SELECT LEFT("zhangsan",5),RIGHT("zhangsan",3);

输出结果为:

image.png

7.LPAD(s1,len,s2)和RPAD(s1,len,s2)

LPAD(s1,len,s2)参数说明:

  • 函数返回字符串s1,其左边由字符串s2填补至len字符长度。
  • 假如s1的长度大于len,则返回值被缩短至len字符。(删减右边的字符)

RPAD(s1,len,s2)参数说明:

  • 函数返回字符串s1,其右边被字符串s2填补至len字符长度。
  • 假如字符串s1的长度大于len,则返回值被缩短到len字符长度。(删减右边的字符)

例如:

SELECT LPAD("zhangsan",7,"*"),LPAD("zhangsan",12,"*"),RPAD("zhangsan",7,"*"),RPAD("zhangsan",12,"*");

输出结果为:

image.png

8.LTRIM(s)、RTRIM(s)和TRIM(s)

LTRIM(s)参数说明:

  • 函数返回字符串s,字符串左侧空格字符被删除。

RTRIM(s)参数说明:

  • 函数返回字符串s,字符串右侧空格字符被删除。

TRIM(s)参数说明:

  • 函数删除字符串s两侧的空格。

例如:

SELECT CONCAT("(",LTRIM("   张三   "),")"),CONCAT("(",RTRIM("   张三   "),")"),CONCAT("(",TRIM("   张三   "),")");

输出结果为:

image.png

总结

  • MySQL字符串函数种类繁多,功能强大,需要正确的使用好

好了,阿文今天就介绍到这了... byebye

14C980CF.jpg