Mysql数据库函数(二)字符串函数

#字符串函数
1.计算字符串字符数的函数和字符串长度的函数
格式:CHAR_LENGTH(str)
作用:返回字符串str所包含的字符个数,一个多字节字符算一个单字节字符
格式:LENGTH(str)
作用:返回为字符串的字节长度
eg.
mysql> select CHAR_LENGTH('date'), CHAR_LENGTH('天');
+---------------------+--------------------+
| CHAR_LENGTH('date') | CHAR_LENGTH('天')  |
+---------------------+--------------------+
|                   4 |                  1 |
+---------------------+--------------------+
mysql> select LENGTH('date'), LENGTH('天');          
+----------------+---------------+
| LENGTH('date') | LENGTH('天')  |
+----------------+---------------+
|              4 |             3 |
+----------------+---------------+

2.合并字符串函数
格式:CONCAT(s1,s2,...)
作用:返回为链接参数产生的字符串,或有一个或多个参数,如有一个参数为NULL,则返回值为NULL
		所有参数均为非二进制字符串,结果为非二进制字符串;
		变量中含有任一二进制字符串,结果为二进制字符串
格式:CONCAT_WS(x,s1,s2,...)
作用:x为其他参数的分隔符,分隔符的位置放在要连接的两个字符串之间。分割符是一个字符串,也可以是其它参数。
	如果分隔符为NULL,结果为NULL。函数会忽略任何分隔符参数后的NULL值

3.替换字符串的函数
格式:INSERT(s1,x,len,s2)
作用:返回字符串s1,其子字符串起始于X位置和被字符串s2取代的len字符。
	 如果X超过字符串长度,返回值为原始字符串,len长度大于其它字符串长度,则从位置X开始替换。
	 任何一个参数为NULL,返回值为NULL

4.字母大小写转换函数
格式:LOWER(str)/LCASE(str)
作用:将字符串str中的字母字符全部转换成小写字母
格式:UPPER(str)/UCASE(str)
作用:将字符串str中的字母字符全部转换成大写字母

5.获取指定长度的字符串的函数
格式:LEFT(s,n)
作用:返回字符串s开始的最左边n个字符
格式:RIGHT(s,n)
作用:返回字符串s中最右边n个字符

6.填充字符串的函数
格式:LPAD(s1,len,s2)
作用:返回字符串s1,其左边由字符串s2填补到len字符长度。
	如果s1的长度大于len,则返回值被缩短至len字符
格式:RPAD(s1,len,s2)
作用:返回字符串s1,其右边被字符串s2填补至len字符长度。
	如果S1的长度大于len,则返回值被缩短到len字符长度
eg.
mysql> select LPAD('hello',4,'??'), LPAD('hello',10,'??');           
+----------------------+-----------------------+
| LPAD('hello',4,'??') | LPAD('hello',10,'??') |
+----------------------+-----------------------+
| hell                 | ?????hello            |
+----------------------+-----------------------+

7.删除空格的函数
格式:LTRIM(s)
作用:返回字符串S,字符串左侧空格字符被删除
格式:RTRIM(s)
作用:返回字符串s,字符串右侧空格字符被删除
格式:TRIM(s)
作用:返回字符串S,字符串两侧空格字符被删除

8.删除指定字符串的函数
格式:TRIM(s1 FROM s)
作用:删除字符串s中两端所有的字符串s1.s1为可选项,未指定情况下删除空格

9.重复生成字符串的函数
格式:REPEAT(s,n)
作用:返回一个有重复的字符串s组成的字符串,字符串s的数目等于n。
	若n<=0,返回一个空字符串,若s或n为NULL,则返回NULL

10.空格函数和替换函数
格式:SPACE(n)
作用:返回一个由n个空格组成的字符串
格式:REPLACE(s,s1,s2)
作用:使用字符串s2替代字符串s中所有的字符串s1.

11.比较字符串大小的函数
格式:STRCMP(s1,s2)
作用:若所有字符串相同,返回0,若第一个参数小于第二个返回-1,其他情况返回1

12.获取子串函数
格式:SUBSTRING/MID(s,n,len)
作用:从字符串s返回一个长度同len字符相同的子字符串,起始于位置n。
	若n为负值,子字符串起始于字符串结尾的n字符

13.匹配子串开始位置的函数
格式:LOCATE(str1,str)\POSITION(str1 IN str) \ INSTR(str,str1)
作用:返回字符串str1在字符串str中的开始位置

14.字符串逆序函数
格式:REVERSE(s)
作用:将字符串s反转,返回字符串的顺序和s字符串顺序相反

15.返回指定位置的字符串的函数
格式:ELT(N,字符串1,字符串2,字符串3,...)
作用:若N=1,返回字符串1,N=2.返回字符串2,N小于1或大于参数的数目时,返回NULL

16.返回指定字符串位置的函数
格式:FIELD(s,s1,s2,....)
作用:返回字符串s在列表s1,s2,...中第一次出现的位置,找不到s的情况返回0,若S为NULL,返回0

17.返回子串位置函数
格式:FIND_IN_SET(s1,s2)
作用:返回字符串s1在字符串列表S2中出现的位置,字符串列表是一个由多个逗号','分开的字符串组成的列表
	S1不在s2或s2位空字符串,返回值为0.任意一个参数为NULL,返回NULL。
	第一个参数中包含一个逗号','时无法正常运行
	
18.选取字符串函数
格式:MAKE_SET(x,s1,s2,...)
作用:返回x的二进制数指定的相应位的字符串组成的字符串,S1对应bit1,s2对应bit2,
	出现NULL值不会被添加到结果中,对应bit位为1,表示选中该字符串

你可能感兴趣的:(MySql数据库)