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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章