1.字符串函數
-
ascii(str)
返回字符串Str的第一個字符的Ascii值(Str是空時返回0)
mysql> select ascii(‘2’);
-> 50
mysql> select ascii(2);
-> 50
mysql> select ascii(‘dete’);
-> 100 -
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 -
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’ -
bin(n)
把n轉爲二進制值並以字串返回(n是bigint數字,等價於conv(n,10,2))
mysql> select bin(12);
-> ‘1100’ -
oct(n)
把n轉爲八進制值並以字串返回(n是bigint數字,等價於conv(n,10,8))
mysql> select oct(12);
-> ‘14’ -
hex(n)
把n轉爲十六進制並以字串返回(n是bigint數字,等價於conv(n,10,16))
mysql> select hex(255);
-> ‘ff’ -
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
-
lpad(str,len,padstr)
用字符串padstr填補str左端直到字串長度爲len並返回
mysql> select lpad(‘hi’,4,’??’);
-> ‘??hi’ -
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’
- 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’
-
substring(str,pos)
substring(str from pos)
返回字符串str的位置pos起的一個子串
mysql> select substring(‘quadratically’,5);
-> ‘ratically’
mysql> select substring(‘foobarbar’ from 4);
-> ‘barbar’ -
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’
- ucase(str)
upper(str)
返回大寫的字符串str
mysql> select ucase(‘quadratically’);
-> ‘quadratically’ - load_file(file_name)
讀入文件並且作爲一個字符串返回文件內容(文件無法找到,路徑
不完整,沒有權限,長度大於max_allowed_packet會返回null)
mysql> update table_name set blob_column=load_file
("/tmp/picture") where id=1;