MySQL函數(shù)大全及用法示例(一)

1、字符串函數(shù)

ascii(str)

返回字符串str的第一個字符的ascii值(str是空串時返回0)

mysql> select ascii('2');

-> 50

mysql> select ascii(2);

-> 50

mysql> select ascii('dete');

-> 100

ord(str)

如果字符串str句首是單字節(jié)返回與ascii()函數(shù)返回的相同值。

如果是一個多字節(jié)字符,以格式返回((first byte ascii code)*256+(second byte ascii code))[*256+third byte asciicode...]

mysql> select ord('2');

-> 50

conv(n,from_base,to_base)

對數(shù)字n進制轉換,并轉換為字串返回(任何參數(shù)為null時返回null,進制范圍為2-36進制,當to_base是負數(shù)時n作為有符號數(shù)否則作無符號數(shù),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數(shù)字,等價于conv(n,10,2))

mysql> select bin(12);

-> '1100'

oct(n)

把n轉為八進制值并以字串返回(n是bigint數(shù)字,等價于conv(n,10,8))

mysql> select oct(12);

-> '14'

hex(n)

把n轉為十六進制并以字串返回(n是bigint數(shù)字,等價于conv(n,10,16))

mysql> select hex(255);

-> 'ff'

char(n,...)

返回由參數(shù)n,...對應的ascii代碼字符組成的一個字串(參數(shù)是n,...是數(shù)字序列,null值被跳過)

mysql> select char(77,121,83,81,'76');

-> 'mysql'

mysql> select char(77,77.3,'77.3');

-> 'mmm'

concat(str1,str2,...)

把參數(shù)連成一個長字符串并返回(任何參數(shù)是null時返回null)

mysql> select concat('my', 's', 'ql');

-> 'mysql'

mysql> select concat('my', null, 'ql');

-> null

mysql> select concat(14.3);

-> '14.3'

length(str)

octet_length(str)

char_length(str)

character_length(str)

返回字符串str的長度(對于多字節(jié)字符char_length僅計算一次)

mysql> select length('text');

-> 4

mysql> select octet_length('text');

-> 4

locate(substr,str)

position(substr in str)

返回字符串substr在字符串str第一次出現(xiàn)的位置(str不包含substr時返回0)

mysql> select locate('bar', 'foobarbar');

-> 4

mysql> select locate('xbar', 'foobar');

-> 0

locate(substr,str,pos)

返回字符串substr在字符串str的第pos個位置起第一次出現(xiàn)的位置(str不包含substr時返回0)

mysql> select locate('bar', 'foobarbar',5);

-> 7

instr(str,substr)

返回字符串substr在字符串str第一次出現(xiàn)的位置(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???'

left(str,len)

返回字符串str的左端len個字符

mysql> select left('foobarbar', 5);

-> 'fooba'

right(str,len)

返回字符串str的右端len個字符

mysql> select right('foobarbar', 4);

-> 'rbar'

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個出現(xiàn)的分隔符delim之后的子串

(count為正數(shù)時返回左端,否則返回右端子串)

mysql> select substring_index('www.mysql.com', '.', 2);

-> 'www.mysql'

mysql> select substring_index('www.mysql.com', '.', -2);

-> 'mysql.com'

ltrim(str)

返回刪除了左空格的字符串str

mysql> select ltrim('? barbar');

-> 'barbar'

rtrim(str)

返回刪除了右空格的字符串str

mysql> select rtrim('barbar?? ');

-> 'barbar'

trim([[both | leading | trailing] [remstr] from] str)

返回前綴或后綴remstr被刪除了的字符串str(位置參數(shù)默認both,remstr默認值為空格)

mysql> select trim('? bar?? ');

-> 'bar'

mysql> select trim(leading 'x' from 'xxxbarxxx');

-> 'barxxx'

mysql> select trim(both 'x' from 'xxxbarxxx');

-> 'bar'

mysql> select trim(trailing 'xyz' from 'barxxyz');

-> 'barx'

soundex(str)

返回str的一個同音字符串(聽起來“大致相同”字符串有相同的

同音字符串,非數(shù)字字母字符被忽略,在a-z外的字母被當作元音)

mysql> select soundex('hello');

-> 'h400'

mysql> select soundex('quadratically');

-> 'q36324'

space(n)

返回由n個空格字符組成的一個字符串

mysql> select space(6);

-> '????? '

replace(str,from_str,to_str)

用字符串to_str替換字符串str中的子串from_str并返回

mysql> select replace('www.mysql.com', 'w', 'ww');

-> 'wwwwww.mysql.com'

repeat(str,count)

返回由count個字符串str連成的一個字符串(任何參數(shù)為null時

返回null,count<=0時返回一個空字符串)

mysql> select repeat('mysql', 3);

-> 'mysqlmysqlmysql'

reverse(str)

顛倒字符串str的字符順序并返回

mysql> select reverse('abc');

-> 'cba'

insert(str,pos,len,newstr)

把字符串str由位置pos起len個字符長的子串替換為字符串

newstr并返回

mysql> select insert('quadratic', 3, 4, 'what');

-> 'quwhattic'

elt(n,str1,str2,str3,...)

返回第n個字符串(n小于1或大于參數(shù)個數(shù)返回null)

mysql> select elt(1, 'ej', 'heja', 'hej', 'foo');

-> 'ej'

mysql> select elt(4, 'ej', 'heja', 'hej', 'foo');

-> 'foo'

field(str,str1,str2,str3,...)

返回str等于其后的第n個字符串的序號(如果str沒找到返回0)

mysql> select field('ej', 'hej', 'ej', 'heja', 'hej',

'foo');

-> 2

mysql> select field('fo', 'hej', 'ej', 'heja', 'hej',

'foo');

-> 0

find_in_set(str,strlist)

返回str在字符串集strlist中的序號(任何參數(shù)是null則返回

null,如果str沒找到返回0,參數(shù)1包含","時工作異常)

mysql> select find_in_set('b','a,b,c,d');

-> 2

make_set(bits,str1,str2,...)

把參數(shù)1的數(shù)字轉為二進制,假如某個位置的二進制位等于1,對應

位置的字串選入字串集并返回(null串不添加到結果中)

mysql> select make_set(1,'a','b','c');

-> 'a'

mysql> select make_set(1 | 4,'hello','nice','world');

-> 'hello,world'

mysql> select make_set(0,'a','b','c');

-> ''

export_set(bits,on,off,[separator,[number_of_bits]])

按bits排列字符串集,只有當位等于1時插入字串on,否則插入

off(separator默認值",",number_of_bits參數(shù)使用時長度不足補0

而過長截斷)

mysql> select export_set(5,'y','n',',',4)

-> y,n,y,n

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;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,247評論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,520評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,362評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,805評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,541評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,896評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,887評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,062評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 49,608評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,356評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,555評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,077評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,769評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,175評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,489評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,289評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,516評論 2 379

推薦閱讀更多精彩內容