外观
字符串函数
常用的字符串函数如下表:
| 函数 | 作用 |
|---|---|
| CHAR_LENGTH(s) | 返回s的字符数 |
| LENGTH(x) | 返回值为字符串x的长度,单位为字节。 |
| CONCAT(s1,s2,...) | 返回结果为连接参数产生的字符串。若有一个参数为NULL则返回值为NULL,若所有参数均为非二进制字符串则结果为非二进制字符串;若参数中有一个是二进制字符串则结果为二进制字符串;一个数字参数会被转换成与之相等的二进制字符串格式,要避免此情况可以使用显示类型cast。 |
| CONCAT_WS(x,s1,s2,...) | 同CONCAT(x)函数,但是每个字符串要加上x |
| INSERT(x1,x,len,s2) | 将字符串s1的x位置开始、长度为len的字符串替换成s2 |
| UPPER(s),UCASE(s) | 将字符串s的所有字母都变成大写字母 |
| LOWER(s),LCASE(s) | 将字符串s的所有字母都变成小写字母 |
| LEFT(s,n) | 返回字符串s的开始的最左n个字符 |
| RIGHT(s,n) | 返回从字符串s的最右n个字符 |
| LPAD(s1,len,s2) | 返回字符串s1,其左边由字符s2填补到len字符长度。假如s1的长度大于len,则返回值被缩短至len字符 |
| RPAD(s1,len,s2) | 返回字符串s1,其右边被字符串s2填补至len字符长度 |
| LTRIM(s) | 将字符串s的前导空格删除后返回s |
| RTRIM(s) | 将字符串s的结尾空格删除后返回s |
| TRIM(s) | 去掉字符串s开始处和结尾处的空格 |
| TRIM(s1 FROM s) | 去掉字符串s中开始处和结尾处的字符串s1 |
| REPEAT(s,n) | 将字符串s重复n次 |
| SPACE(n) | 返回n个空格 |
| REPLACE(s,s1,s2) | 用字符串s2替代字符串s中的字符串s1 |
| STRCMP(s1,s2) | 比较字符串s1和s2 |
| SUNSTRING(s,n,len) | 获取从字符串s中的第n个位置开始、长度为len的字符串 |
| MID(s,n,len) | 同SUBSTRING(s,n,len) |
| LOCATE(s1,s),POSITION(s1 in s) | 从字符串s中的获取s1的开始位置 |
| INSTR(s,s1) | 查找字符串s1在s中的位置,返回首次出现位置的索引值 |
| REVERSE(s) | 将字符串s的顺序反过来 |
| ELT(n,s1,s2,...) | 返回第n个字符串 |
| EXPORT_SET(bits,on,off,[,separator[,number_of_bits]]) | 返回一个字符串,生成规则如下:针对bits的二进制模式,如果其位为1,则返回一个on值;如果其位为0,则返回一个off值。每个字符串采用separator进行分隔,默认值为“,”。number_of_bits参数指定bits可用的位数,默认为64位。例如,生成数字位182的二进制(10110110)替换格式,以“@”作为分隔符,设置有效位为6位。其语句如下:select EXPORT_SET(182,‘Y’,‘N’,‘@’,6);其运行结果为:N@Y@Y@N@Y@Y |
| FIELD(s,s1,s2,...) | 返回一个与字符串s匹配的字符串的位置 |
| FIND_IN_SET(s1,s2) | 返回在字符串s2中与s1匹配的字符串的位置 |
| MAKE_SET(x,s1,s2,...) | 按x的二进制数从s1,s2,...中选取字符串 |