数据库

首页 » 常识 » 预防 » MySQL函数基础字符串函数详解
TUhjnbcbe - 2024/12/29 18:05:00
北京中科白癜风医院爱心接力不忘初心 https://m.39.net/pf/a_5972921.html

昨天,咱们对MySQL的数学函数进行了讲解,今天,咱们再来解析MySQL字符串函数。

字符串函数主要用来处理数据库中的字符串数据,MySQL中字符串函数有:计算字符串长度函数、字符串合并函数、字符串替换函数、字符串比较函数、查找指定字符串位置函数等。

本篇将介绍各种字符串函数的功能和用法。

计算字符串字符数的函数和字符串长度的函数

CHAR_LENGTH(str)返回值为字符串str所包含的字符个数。一个多字节字符算作-一个单字符。

使用CHAR_LENGTH函数计算字符串字符个数,输入语句如下:

LENGTH(str)返回值为字符串的字节长度,使用utf8(UNICODE的一种变长字符编码,又称万国码)编码字符集时,一个汉字是3个字节,一个数字或字母算一个字节。

使用LENGTH函数计算字符串长度,输入语句如下:

可以看到,计算的结果与CHAR_LENGTH相同,因为英文字符的个数和所占的字节相同,一个字符占一个字节。

合并字符串函数CONCAT(s1,2……CONCAT_WS(x,1,2……)

CONCAT(1,2,*.)返回结果为连接参数产生的字符串,或许有一个或多个参数。如有任何一个参数为NULL,则返回值为NULL。如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中含有任--二进制字符串,则结果为一个二进制字符串。

使用CONCAT函数连接字符串,输入语句如下:

CONCAT(MySQL,5.7)返回两个字符串连接后的字符串;CONCAT(My,NULL,SQL)中有一个参数为NULL,因此返回结果为NULL。

CONCAT_WS(x,1,2,*.),CONCAT_WS代表CONCATWithSeparator,是CONCATO的特殊形式。第一个参数x是其他参数的分隔符,分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其他参数。如果分隔符为NULL,则结果为NULL。函数会忽略任何分隔符参数后的NULL值。

使用CONCAT_WS函数连接带分隔符的字符串,输入语句如下:

CONCAT_WS(-,Ist,2nd,3rd)使用分隔符‘-’将3个字符串连接成-一个字符串,结果为“1st-2nd-3rd”;CONCAT_WS(*,Ist,NULL,3rd)使用分隔符‘*’将两个字符串连接成一个字符串,同时忽略NULL值。

替换字符串的函数INSERT(s1,x,len,s2)

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

使用INSERT函数进行字符串替代操作,输入语句如下:

第一个函数INSERT(Quest,2,4,What)将“Quest”第2个字符开始长度为4的字符串替换为What,结果为“QWhat;第二个函数INSERT(Quest,-1,4,What)中起始位置-1超出了字符串长度,直接返回原字符;第三个函数INSERT(Quest,3,,What)替换长度超出了原字符串长度,则从第3个字符开始,截取后面所有的字符,并替换为指定字符What,结果为“QuWhat”。

字母大小写转换函数

LOWER(str)或者LCASE(str)可以将字符串str中的字母字符全部转换成小写字母。

使用LOWER函数或者LCASE函数将字符串中所有字母字符转换为小写,输入语句如下:

由结果可以看到,原来所有字母为大写的,全部转换为小写,如“BEAUTIFUL,转换之后为“beautiful”;大小写字母混合的字符串,小写不变,大写字母转换为小写字母,如“WelL”,转换之后为“well”

UPPER(str)或者UCASE(str)可以将字符串str中的字母字符全部转换成大写字母。

使用UPPER函数或者UCASE函数将字符串中所有字母字符转换为大写,输入语句如下:

由结果可以看到,原来所有字母字符为小写的,全部转换为大写,如“balck”,转换之后为“BLACK”;大小写字母混合的字符串,大写不变,小写字母转换为大写字母,如“BLacK”,转换之后为“BLACK”。

获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)

LEFT(s,n)返回字符串s开始的最左边n个字符。

使用LEFT函数返回字符串中左边的字符,输入语句如下:

函数返回字符串“football”左边开始的长度为5的子字符串,结果为“footb”

RIGHT(s,n)返回字符串中最右边n个字符。

使用RIGHT函数返回字符串中右边的字符,输入语句如下:

函数返回字符串“football”右边开始的长度为4的子字符串,结果为“ball。

填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2)

LPAD(s1,len,s2)返回字符串s1,其左边由字符串s2填补到len字符长度。假如s1的长度大于len,则返回值被缩短至len字符。

使用LPAD函数对字符串进行填充操作,输入语句如下:

字符串“hello”长度大于4,不需要填充,因此LPAD(hello,??)只返回被缩短的长度为4的子串“hell”;字符串“hello”长度小于10,LPAD(heell,10,??)返回结果为“????hello”,左侧填充‘?’,长度为10。

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

使用RPAD函数对字符串进行填充操作,输入语句如下:

字符串“hello”长度大于4,不需要填充,因此RPAD(ello4,?)只返回被缩短的长度为4的子串“hell”;字符串“hello”长度小于10,RPAD(hello,10,?)返回结果为hell????”,右侧填充‘?’,长度为10。

删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s)

LTRIM(s)返回字符串s,字符串左侧空格字符被删除。

使用LTRIM函数删除字符串左边的空格,输入语句如下:

LTRIM只删除字符串左边的空格,而右边的空格不会被删除,“book”删除左边空格之后的结果为“book”。

RTRIM(s)返回字符串s,字符串右侧空格字符被删除。

使用RTRIM函数删除字符串右边的空格,输入语句如下:

RTRIM只删除字符串右边的空格,左边的空格不会被删除,“book”删除右边空格之后的结果为“book”

TRIM(s)删除字符串s两侧的空格。

使用TRIM函数删除字符串两侧的空格,使用语句如下:

可以看到,函数执行之后字符串“book”两边的空格都被删除,结果为“book”。

删除指定字符串的函数TRIM(s1FROMs)

TRIM(s1FROMs)删除字符串s中两端所有的子字符串s1os1为可选项,在未指定情况下,删除空格。

使用TRIM(s1FROMs)函数删除字符串中两端指定的字符,输入语句如下:

删除字符串“xyxboxyokxxyxy两端的重复字符串“xy”,而中间的“xy”并不删除,结果为“xboxyokx,

重复生成字符串的函数REPEAT(s,n)

REPEAT(s,n)返回一个由重复的字符串s组成的字符串,字符串s的数目等于n。若n=0,则返回一个空字符串。若s或n为NULL,则返回NULL。

使用REPEAT函数重复生成相同的字符串,输入语句如下:

REPEAT(MySQL,3)函数返回的字符串由3个重复的“MySQL字符串组成。

空格函数SPACE(n)和替换函数REPLACE(s,s1,s2)

SPACE(n)返回一个由n个空格组成的字符串。

使用SPACE函数生成由空格组成的字符串,输入语句如下:

SPACE(6)返回的字符串由6个空格组成。

REPLACE(s,s1,s2)使用字符串s2替代字符串s中所有的字符串sl。

使用REPLACE函数进行字符串替代操作,输入语句如下:

REPLACE(xx.MySQL.

1
查看完整版本: MySQL函数基础字符串函数详解