字符串函数

    1. #CHAR_LENGTH(s) 返回字符串s的字符数
    2. SELECT CHAR_LENGTH('你好123') -- 5
    3. #LENGTH(s) 返回字符串s的长度
    4. SELECT LENGTH('你好123') -- 9
    5. #CONCAT(s1,s2,...) 将字符串s1,s2等多个字符串合并为一个字符串
    6. SELECT CONCAT('12','34') -- 1234
    7. #CONCAT_WS(x,s1,s2,...) 同CONCAT(s1,s2,...)函数,但是每个字符串直接要加上x
    8. SELECT CONCAT_WS('@','12','34') -- 12@34
    9. INSERT(s1,x,len,s2) 将字符串s2替换s1x位置开始长度为len的字符串
    10. SELECT INSERT('12345',1,3,'abc') -- abc45
    11. #UPPER(s),UCAASE(S) 将字符串s的所有字母变成大写字母
    12. SELECT UPPER('abc') -- ABC
    13. #LOWER(s),LCASE(s) 将字符串s的所有字母变成小写字母
    14. SELECT LOWER('ABC') -- abc
    15. #LEFT(s,n) 返回字符串s的前n个字符
    16. SELECT LEFT('abcde',2) -- ab
    17. #RIGHT(s,n) 返回字符串s的后n个字符
    18. SELECT RIGHT('abcde',2) -- de
    19. #LPAD(s1,len,s2) 字符串s2来填充s1的开始处,使字符串长度达到len
    20. SELECT LPAD('abc',5,'xx') -- xxabc
    21. #RPAD(s1,len,s2) 字符串s2来填充s1的结尾处,使字符串的长度达到len
    22. SELECT RPAD('abc',5,'xx') -- abcxx
    23. LTRIM(s) 去掉字符串s开始处的空格
    24. RTRIM(s) 去掉字符串s结尾处的空格
    25. TRIM(s) 去掉字符串s开始和结尾处的空格
    26. TRIM(s1 FROM s) 去掉字符串s中开始处和结尾处的字符串s1
    27. SELECT TRIM('@' FROM '@@abc@@') -- abc
    28. REPEAT(s,n) 将字符串s重复n
    29. SELECT REPEAT('ab',3) -- ababab
    30. SPACE(n) 返回n个空格
    31. #REPLACE(s,s1,s2) 将字符串s2替代字符串s中的字符串s1
    32. SELECT REPLACE('abc','a','x') --xbc
    33. STRCMP(s1,s2) 比较字符串s1s2
    34. SUBSTRING(s,n,len) 获取从字符串s中的第n个位置开始长度为len的字符串
    35. MID(s,n,len) SUBSTRING(s,n,len)
    36. #LOCATE(s1,s),POSITION(s1 IN s) 从字符串s中获取s1的开始位置
    37. SELECT LOCATE('b', 'abc') -- 2
    38. #INSTR(s,s1) 从字符串s中获取s1的开始位置
    39. SELECT INSTR('abc','b') -- 2
    字符串函数 说明
    CHAR_LENGTH(s) 返回字符串s的字符数
    SELECT CHAR_LENGTH('你好123') -- 5
    LENGTH(s) 返回字符串s的长度
    SELECT LENGTH('你好123') -- 9
    CONCAT(s1,s2,…) 将字符串s1,s2等多个字符串合并为一个字符串
    SELECT CONCAT('12','34') -- 1234
    CONCAT_WS(x,s1,s2,…) 同CONCAT(s1,s2,…)函数,但是每个字符串直接要加上x
    SELECT CONCAT_WS('@','12','34') -- 12@34
    INSERT(s1,x,len,s2) 将字符串s2替换s1的x位置开始长度为len的字符串
    SELECT INSERT(‘12345’,1,3,’abc’) — abc45
    UPPER(s),UCAASE(S) 将字符串s的所有字母变成大写字母
    SELECT UPPER(‘abc’) — ABC
    LOWER(s),LCASE(s) 将字符串s的所有字母变成小写字母
    SELECT LOWER(‘ABC’) — abc
    LEFT(s,n) 返回字符串s的前n个字符
    SELECT LEFT(‘abcde’,2) — ab
    RIGHT(s,n) 返回字符串s的后n个字符
    SELECT RIGHT(‘abcde’,2) — de
    LPAD(s1,len,s2) 字符串s2来填充s1的开始处,使字符串长度达到len
    SELECT LPAD(‘abc’,5,’xx’) — xxabc
    RPAD(s1,len,s2) 字符串s2来填充s1的结尾处,使字符串的长度达到len
    SELECT RPAD(‘abc’,5,’xx’) — abcxx
    LTRIM(s) 去掉字符串s开始处的空格
    RTRIM(s) 去掉字符串s结尾处的空格
    TRIM(s) 去掉字符串s开始和结尾处的空格
    TRIM(s1 FROM s) 去掉字符串s中开始处和结尾处的字符串s1
    SELECT TRIM(‘@’ FROM ‘@@abc@@’) — abc
    REPEAT(s,n) 将字符串s重复n次
    SELECT REPEAT(‘ab’,3) — ababab
    SPACE(n) 返回n个空格
    REPLACE(s,s1,s2) 将字符串s2替代字符串s中的字符串s1
    SELECT REPLACE(‘abc’,’a’,’x’) —xbc
    STRCMP(s1,s2) 比较字符串s1和s2
    SUBSTRING(s,n,len) 获取从字符串s中的第n个位置开始长度为len的字符串
    MID(s,n,len) 同SUBSTRING(s,n,len)
    LOCATE(s1,s),POSITION(s1 IN s) 从字符串s中获取s1的开始位置
    SELECT LOCATE(‘b’, ‘abc’) — 2
    INSTR(s,s1) 从字符串s中获取s1的开始位置
    SELECT INSTR(‘abc’,’b’) — 2
    REVERSE(s) 将字符串s的顺序反过来
    SELECT REVERSE(‘abc’) — cba
    ELT(n,s1,s2,…) 返回第n个字符串
    SELECT ELT(2,’a’,’b’,’c’) — b
    EXPORT_SET(x,s1,s2) 返回一个字符串,在这里对于在“bits”中设定每一位,你得到一个“on”字符串,并且对于每个复位(reset)的位,你得到一个 “off”字符串。每个字符串用“separator”分隔(缺省“,”),并且只有“bits”的“number_of_bits” (缺省64)位被使用。
    SELECT EXPORT_SET(5,’Y’,’N’,’,’,4) — Y,N,Y,N
    FIELD(s,s1,s2…) 返回第一个与字符串s匹配的字符串位置
    SELECT FIELD(‘c’,’a’,’b’,’c’) — 3
    FIND_IN_SET(s1,s2) 返回在字符串s2中与s1匹配的字符串的位置
    MAKE_SET(x,s1,s2) 返回一个集合 (包含由
    “,”
    字符分隔的子串组成的一个 字符串),由相应的位在bits集合中的的字符串组成。str1对应于位0,str2对 应位1,等等。
    SELECT MAKE_SET(1|4,’a’,’b’,’c’); — a,c
    SUBSTRING_INDEX 返回从字符串str的第count个出现的分隔符delim之后的子串。
    如果count是正数,返回第count个字符左边的字符串。
    如果count是负数,返回第(count的绝对值(从右边数))个字符右边的字符串。
    SELECT SUBSTRING_INDEX(‘ab’,’‘,1) — a
    SELECT SUBSTRING_INDEX(‘ab’,’‘,-1) — b
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘abcde’,’‘,3),’‘,-1) — c
    LOAD_FILE(file_name) 读入文件并且作为一个字符串返回文件内容。文件必须在服务器上,你必须指定到文件的完整路径名,而且你必须有file权 限。文件必须所有内容都是可读的并且小于max_allowed_packet。 如果文件不存在或由于上面原因之一不能被读出,函数返回NULL。