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);