一。字符串函数的类别及其作用
字符串函数主要用来处理字符串数据,MySQL 字符串函数主要有计算字符长度函数、字符串合并函数、字符串转换函数、字符串比较函数以及查找指定字符串位置函数等。
如下表所类
字符串函数 | 功能介绍 |
CHAR_LENGTH(str) | 返回字符串 str1 包含字符的个数。像中文这种多字节的一个字符也只能算单字符 |
LENGTH(str) | 返回字符串 str1 包含字节的个数 |
CONCAT(s1,s2,…) | 字符串合并函数,返回结果为连接参数产生的字符串。参数可以是一个或多个。如有任意一个字符串参数为 null,则返回值为 null |
INSERT(str,pos,len,newstr) | 替换字符串函数。字符串 str 在位置 pos 起始且长度为 len 的子串由字符串 newstr 替换,最终返回替换之后的 str |
LOWER(str) 和 LCASE(str) | 这两个函数功能相同,都是将字符串 str 中的字母转换为小写 |
UPPER(str) 和 UCASE(str) | 这两个函数功能相同,都是将字符串 str 中的字母转换为大写 |
SUBSTR(str,pos,len) 和 SUBSTRING(str,pos,len) | 截取原始字符串 str 中从 pos 开始的 len 长度字符串。len 是可选项,如果该项缺省则获取从 pos 开始的剩余字符串内容 |
LFFT(str,len) | 截取左侧字符串函数,返回 str 最左的 len 个字符 |
字符串函数 | 功能介绍 |
RIGHT(str,len) | 截取右侧字符串函数,返回 str 最左的 len 个字符 |
LTRIM(str) | 删除字符串 str 左侧所有空格 |
RTRIM(str) | 删除字符串 str 右侧所有空格 |
TRIM(str) | 删除字符串 str 左右两端所有空格 |
TRIM(s1 from str) | 删除字符串 str 中两端包含的子字符串 s1 |
REPEAT(str,n) | 重复生成字符串函数。返回一个由重复的字符串 str 组成的字符串,该字符串中 str 的重复次数是 n。若 n<=0,则返回一个空字符串;若 str 或 n 为 null,则返回 null |
STRCMP(s1,s2) | 比较字符串大小函数。若 s1 和 s2 相等,则返回 0;若 s1 小于 s2,则返回 -1;若 s1 大于 s2,则返回 1 |
LOCATE(s1,str) | 匹配字符串开始位置的函数。返回子字符串 s1 在字符串 str 中第一次出现的位置。若 str 中没有包括 s1,则返回 0 |
字符串函数 | 功能介绍 |
ELT(n,s1,s2…sn) | 返回指定位置的字符串函数。根据 n 的取值,返回指定的字符串 sn。若 n=1,则返回 s1;若 n=2,则返回 s2,以此类推。若 n<1 或 n>sn 的数目,则返回值为 null |
FIELD(s,s1,s2…sn) | 返回指定字符串位置的函数。返回字符串 s 在 s1,s2,…sn 中出现的位置。如果找不到,则返回值为 0;若 s 为 null,则返回值为 0 |
INSERT(str,s1) | 匹配字符串开始位置的函数。功能同 LOCATE 函数 |
REPLACE(str,s1,s2) | 替换函数。使用字符串 s2 替换字符串 str 中所有的子字符串s1 |
REVERSE(str) | 返回和原始字符串 str 顺序相反的字符串 |
二。举例
1.使用 char_length(str) 和 length(str) 计算字符个数和字节个数。
2.使用 insert(str,pos,len,newstr) 函数进行字符串替换操作。