MySQL自带String(字符串)函数方法

1.字符串函数

  1. ascii(str)
    返回字符串Str的第一个字符的Ascii值(Str是空时返回0)
    mysql> select ascii(‘2’);
      -> 50
    mysql> select ascii(2);
      -> 50
    mysql> select ascii(‘dete’);
      -> 100

  2. ord(str)
    如果字符串str句首是单字节 返回与Ascii()函数返回的相同值
    如果是一个多字节字符,以格式返回((first byte ascii code)*256+(second byte ascii code))[*256+third byte asciicode…]
    mysql> select ord(‘2’);
      -> 50
    mysql> select ord(‘刘’);
      -> 15042712

  3. conv(n,from_base,to_base)
    对数字n进行进制转换,并转换为字符串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作)
    mysql> select conv(“a”,16,2);
      -> ‘1010’
    mysql> select conv(“6e”,18,8);
      -> ‘172’
    mysql> select conv(-17,10,-18);
      -> ‘-h’
    mysql> select conv(10+“10”+‘10’+0xa,10,10);
      -> ‘40’

  4. bin(n)
    把n转为二进制值并以字串返回(n是bigint数字,等价于conv(n,10,2))
    mysql> select bin(12);
      -> ‘1100’

  5. oct(n)
    把n转为八进制值并以字串返回(n是bigint数字,等价于conv(n,10,8))
    mysql> select oct(12);
      -> ‘14’

  6. hex(n)
    把n转为十六进制并以字串返回(n是bigint数字,等价于conv(n,10,16))
    mysql> select hex(255);
      -> ‘ff’

  7. char(n,…)
    返回由参数n,…对应的ascii代码字符组成的一个字串(参数是n,…是数字序列,null值被跳过)
    mysql> select char(77,121,83,81,‘76’);
      -> ‘mysql’
    mysql> select char(77,77.3,‘77.3’);
      -> ‘mmm’

8. concat(str1,str2,…)

把参数连成一个长字符串并返回(任何参数是null时返回null)
mysql> select concat(‘my’, ‘s’, ‘ql’);
  -> ‘mysql’
mysql> select concat(‘my’, null, ‘ql’);
  -> null
mysql> select concat(14.3);
  -> ‘14.3’

9.返回字符串str的长度(对于多字节字符char_length仅计算一次)

mysql> select length(‘text’);
  -> 4
mysql> select octet_length(‘text’);
  -> 4
  
10. locate(substr,str)
position(substr in str)
返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)
mysql> select locate(‘bar’, ‘foobarbar’);
  -> 4
mysql> select locate(‘xbar’, ‘foobar’);
  -> 0
  
11. locate(substr,str,pos)
返回字符串substr在字符串str的第pos个位置起第一次出现的位置(str不包含substr时返回0)
mysql> select locate(‘bar’, ‘foobarbar’,5);
  -> 7
instr(str,substr)
返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)
mysql> select instr(‘foobarbar’, ‘bar’);
  -> 4
mysql> select instr(‘xbar’, ‘foobar’);
  -> 0

  1. lpad(str,len,padstr)
    用字符串padstr填补str左端直到字串长度为len并返回
    mysql> select lpad(‘hi’,4,’??’);
      -> ‘??hi’

  2. rpad(str,len,padstr)
    用字符串padstr填补str右端直到字串长度为len并返回
    mysql> select rpad(‘hi’,5,’?’);
      -> ‘hi???’

14) left(str,len)

返回字符串str的左端len个字符
mysql> select left(‘foobarbar’, 5);
  -> ‘fooba’

  1. right(str,len)
    返回字符串str的右端len个字符
    mysql> select right(‘foobarbar’, 4);
      -> ‘rbar’

16) substring(str,pos,len)

substring(str from pos for len)
mid(str,pos,len)
返回字符串str的位置pos起len个字符mysql> select substring(‘quadratically’,5,6);
  -> ‘ratica’

  1. substring(str,pos)
    substring(str from pos)
    返回字符串str的位置pos起的一个子串
    mysql> select substring(‘quadratically’,5);
      -> ‘ratically’
    mysql> select substring(‘foobarbar’ from 4);
      -> ‘barbar’

  2. substring_index(str,delim,count)
    返回从字符串str的第count个出现的分隔符delim之后的子串
    (count为正数时返回左端,否则返回右端子串)
    mysql> select substring_index(‘www.mysql.com’, ‘.’, 2);
      -> ‘www.mysql’
    mysql> select substring_index(‘www.mysql.com’, ‘.’, -2);
      -> ‘mysql.com’

19) replace(str,from_str,to_str)

用字符串to_str替换字符串str中的子串from_str并返回
mysql> select replace(‘www.mysql.com’, ‘w’, ‘ww’);
  -> ‘wwwwww.mysql.com’
  
20. lcase(str)
lower(str)
返回小写的字符串str
mysql> select lcase(‘quadratically’);
  -> ‘quadratically’

  1. ucase(str)
    upper(str)
    返回大写的字符串str
    mysql> select ucase(‘quadratically’);
      -> ‘quadratically’
  2. load_file(file_name)
    读入文件并且作为一个字符串返回文件内容(文件无法找到,路径
    不完整,没有权限,长度大于max_allowed_packet会返回null)
    mysql> update table_name set blob_column=load_file
    ("/tmp/picture") where id=1;

你可能感兴趣的:(Java小白面试,mysql专题)