1、MySQL中常用的字符串函数
MySQL软件支持的字符串函数表如下:
函 数 | 功 能 |
CONCAT(str1,str2,...,strn) | 将str1,str2,...,strn连接为一个完整的字符串 |
INSERT(str,x,y,instr) | 将字符串str从第x开始,y个字符串长度的子串替换为字符串instr |
LOWER(str) | 将字符串str中的所有字母变成小写 |
UPPER(str) | 将字符串str中的所有字母变成大写 |
LEFT(str,x) | 返回字符串最左边的x个字符 |
RIGHT(str,x) | 返回字符串最右边的x个字符 |
LPAD(str,n,pad) | 使用字符串pad对字符串str最左边进行填充,直到长度为n个字符长度 |
RPAD(str,n,pad) | 使用字符串pad对字符串str最右边进行填充,直到长度为n个字符长度 |
LTRIM(str) | 去掉str左边的空格 |
RTRIM(str) | 去掉str右边的空格 |
REPEAT(str,x) | 返回字符串str重复x次的结果 |
REPLACE(str,a,b) | 使用字符串b替换字符串str中所有出现的字符串a |
STRCMP(str1,str2) | 比较字符串str1和str2 |
TRIM(str) | 去掉字符串行头和行尾的空格 |
SUBSTRING(str,x,y) | 返回字符串str中从x位置起y个字符串长度的字符串 |
2、合并字符串函数CONCAT()和CONCAT_WS()
语法形式:
CONCAT(str1,str2,...,strn);
将传入的参数连接起来返回合并的字符串类型数据。如果一个参数为NULL,则返回NULL。
CONCAT_WS(sep,str1,str2,...,strn);
将字符多个字符串连接成一个字符串,字符串之间用分隔符分开。分隔符为NULL时返回NULL,子字符串中含有NULL时,函数将忽略NULL。
3、比较字符串大小函数STRCMP()
语法形式:
STRCMP(str1,str2);
比较传入的字符串str1与str2,如果传入的参数str1大于str2,则返回true;如果参数str1小于str2,则返回false;如果参数str1等于str2,则返回0。
4、获取字符串长度函数LENGTH()和字符数函数CHAR_LENGTH()
语法形式:
LENGTH(str);
获取传入的字符串str长度。
CHAR_LENGTH(str);
获取传入的字符串str的字符数。
5、实现字母大小写转换函数UPPER()和LOWER()
语法形式:
UPPER(str);
UCASE(str);
将所传入的字符串str中所有字母转换为大写字母。
LOWER(str);
LCASE(str);
将所传入的字符串str中所有字母转换为小写字母。
6、查找字符串
返回字符串位置的FIND_IN_SET()函数
语法形式:
FIND_IN_SET(str1,str2);
返回在字符串str2中与str1匹配的字符串的位置。
返回指定字符串位置的FIELD()函数
语法形式:
FIELD(str1,str2,str3,...);
返回第一个与字符串匹配的字符串的位置。
返回子字符串相匹配的开始位置
语法形式:
LOCATE(str1,str);
POSITION(str1 IN str);
INSTR(str,str1);
获取子字符串相匹配的开始位置。
返回指定位置的字符串的ELT()函数
ELT(n.str1,str2,...);
获取指定位置的字符串。
选择字符串的MAKE_SET()
语法形式:
MAKE_SET(num,str1,str2,..,strn);
将num转换成二进制数,再根据二进制数来选择字符串。从左到右顺序读取该值,二进制数值为1选择该字符串,否则不选该字符串。
7、从现有字符串中截取子字符串
从左边或右边截取子字符串
LEFT(str,num);
RIGHT(str,num);
截取指定位置和长度的子字符串
SUBSTRING(str,num,len);
MID(str,num,len);
8、去除字符串开始的首位空格
去除字符串开始处的空格
LTRIM(str);
去掉字符串结束处的空格
RTRIM(str);
9、去掉字符串首位空格
TRIM(str);
10、替换字符串
INSERT(str,pos,len,newstr);
REPLACE(str,substr,newstr);