mysql字符串函数

字符串第一个位置下标为1

  • ASCII(str): 返回最左边字符的ASCII代码值
  • CONV(N, from_base, to_base): 在不同基数之间转化数字,返回数字N的字符串数字,如果任何参数为NULL则返回NULL。如果to_base是一个负数,则被认为是一个有符号数。
    mysql> select CONV('a', 16, 2);
    1010
    mysql> select CONV('6E', 18, 8);
    172
    mysql> select CONV(-17, 10, -18);
    '-H'
    
  • BIN(N): 返回N的二进制字符串表示,等价于CONV(N, 10, 2).
  • OCT(N)
  • HEX(N)
  • CHAR(N1, N2, ...): 将参数转化为整数并连成一个字符串返回,这里参数相当与ASCII码,返回相应的那个字符。
    mysql> select CHAR(77, 121, 83, 81, '76');
    'MySQL'
    
  • CONCAT(str1, str2, ...): 连接字符串,数字参数会转化为对应的字符。
  • LENGTH(str)
  • OCTET_LENGTH(str)
  • CHARACTER_LENGTH(str): 返回字符串的长度
  • LOCATE(substr, str): 如果找不到则返回0,注意下标从1开始
  • INSTR(str, substr): 与LOCATE()参数相反
  • LPAD(str, len, padstr): 返回字符串str, 左边用padstr填补知道len长度
    mysql> select LPAD('1234', 5, 'ab');
    'a1234'
    
  • RPAD(str, len, padstr)
  • LEFT(str, len): 返回最左边的len个字符
  • RIGHT(str, len)
  • MID(str, pos, len): 返回str从pos位置开始长度为len的字串
  • SUBSTRING(str, pos)
  • SUBSTRING_INDEX(str, delim, count): 以从左往右数第count个分隔符delim为界限,返回左边或者右边的子字符串,count为正时返回左边的,count为负时返回右边的
    mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2);
    'www.mysql'
    
  • LTRIM(str): 返回删除前置空格的字符串
  • RTRIM(str)
  • TRIM([LEADING | TRAILING | BOTH] [remstr] FROM str): 删除掉前边|后边|两边的子串remstr,默认为BOTH, remstr默认为空格
    select TRIM(TRAILING 'abc' FROM '1234abc');
    '1234'
    
  • SPACE(N): 返回由N个空格组成的字符串
  • REPLACE(str, from_str, to_str)
  • REPEAT(str, count)
  • REVERSE(str)
  • INSERT(str, pos, len, newstr): str从pos开始长度为len的子字符串由newstr代替
  • ELT(N, str1, str2, str3, ...): 如果N = 1,返回str1, N = 2, 返回str2...
  • FIELD(str, str1, str2, str3, ...): 返回str是第几个
  • FIND_IN_SET(str, strlist): 如果str在strlist之中,返回一个数字表示str出现在第几个
    mysql> select FIND_IN_SET('b', 'a,b,c,d');
    2
    
  • MAKE_SET(bits, str1, str2, ...): 返回由str1...其中的一些组合成的字符串,以','形式分隔,bits二进制对应的位如果为1则选中该str,str1对应位0,str2对应位1...
    mysql> select MAKE_SET(1 | 2,'hello','nice','world');
    'hello,nice'
    mysql> MAKE_SET(4 | 2 ,'hello','nice','world');
    'nice,world'
    mysql> SELECT MAKE_SET(0,'a','b','c');
    ''
    
  • EXPORT_SET(bits, on, off, [separator, [number_of_bits]]): 类似与bits,bits二进制数中1的位用on表示,0的位用off表示,默认separator是',',bits位数少于number_of_bits则在后面用off补全
    mysql> select EXPORT_SET(8 | 2 | 1, 'a', 'b', ',', '6');
    a,a,b,a,b,b
    
  • LOWER(str): 返回小写
  • UPPER(str)
  • LOAD_FILE(file_name): 读入文件并且作为字符串内容返回文件内容,文件必须在服务器上,而且必须具有访问权限。
  • mysql必要的时候会自动变换数子和字符串
    mysql> select 1 + '1';
    2
    mysql> select CONCAT(2, ' test');
    '2 test'
    
posted @ 2014-11-02 15:07  Jolin123  阅读(173)  评论(0编辑  收藏  举报