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

轉(zhuǎn)自公眾號(hào)‘java一日一條’

java一日一條

1.字符串函數(shù)

ascii(str)

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

mysql> select ascii('2');
  -> 50
mysql> select ascii(2);
  -> 50
mysql> select ascii('dete');
  -> 100

ord(str)

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

如果是一個(gè)多字節(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)

對(duì)數(shù)字n進(jìn)制轉(zhuǎn)換,并轉(zhuǎn)換為字串返回(任何參數(shù)為null時(shí)返回null,進(jìn)制范圍為2-36進(jìn)制,當(dāng)to_base是負(fù)數(shù)時(shí)n作為有符號(hào)數(shù)否則作無符號(hào)數(shù),conv以64位點(diǎn)精度工作)

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轉(zhuǎn)為二進(jìn)制值并以字串返回(n是bigint數(shù)字,等價(jià)于conv(n,10,2))

mysql> select bin(12);
  -> '1100'

oct(n)

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

mysql> select oct(12);
  -> '14'

hex(n)

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

mysql> select hex(255);
  -> 'ff'

char(n,...)

返回由參數(shù)n,...對(duì)應(yīng)的ascii代碼字符組成的一個(gè)字串(參數(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ù)連成一個(gè)長字符串并返回(任何參數(shù)是null時(shí)返回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的長度(對(duì)于多字節(jié)字符char_length僅計(jì)算一次)

mysql> select length('text');
  -> 4
mysql> select octet_length('text');
  -> 4

locate(substr,str)

position(substr in str)

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

mysql> select locate('bar', 'foobarbar');
  -> 4
mysql> select locate('xbar', 'foobar');
  -> 0

locate(substr,str,pos)

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

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

instr(str,substr)

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

mysql> select instr('foobarbar', 'bar');
  -> 4
mysql> select instr('xbar', 'foobar');
  -> 0

lpad(str,len,padstr)

用字符串padstr填補(bǔ)str左端直到字串長度為len并返回

mysql> select lpad('hi',4,'??');
  -> '??hi'

rpad(str,len,padstr)

用字符串padstr填補(bǔ)str右端直到字串長度為len并返回

mysql> select rpad('hi',5,'?');
  -> 'hi???'

left(str,len)

返回字符串str的左端len個(gè)字符

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

right(str,len)

返回字符串str的右端len個(gè)字符

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

substring(str,pos,len)

substring(str from pos for len)

mid(str,pos,len)

返回字符串str的位置pos起len個(gè)字符

mysql> select substring('quadratically',5,6);
  -> 'ratica'

substring(str,pos)

substring(str from pos)

返回字符串str的位置pos起的一個(gè)子串

mysql> select substring('quadratically',5);
  -> 'ratically'
mysql> select substring('foobarbar' from 4);

-> 'barbar'

substring_index(str,delim,count)

返回從字符串str的第count個(gè)出現(xiàn)的分隔符delim之后的子串
(count為正數(shù)時(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ù)默認(rèn)both,remstr默認(rèn)值為空格)

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的一個(gè)同音字符串(聽起來“大致相同”字符串有相同的
同音字符串,非數(shù)字字母字符被忽略,在a-z外的字母被當(dāng)作元音)

mysql> select soundex('hello');
  -> 'h400'
mysql> select soundex('quadratically');
  -> 'q36324'

space(n)

返回由n個(gè)空格字符組成的一個(gè)字符串

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個(gè)字符串str連成的一個(gè)字符串(任何參數(shù)為null時(shí)
返回null,count<=0時(shí)返回一個(gè)空字符串)

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

reverse(str)

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

mysql> select reverse('abc');
  -> 'cba'

insert(str,pos,len,newstr)

把字符串str由位置pos起len個(gè)字符長的子串替換為字符串
newstr并返回

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

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

返回第n個(gè)字符串(n小于1或大于參數(shù)個(gè)數(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個(gè)字符串的序號(hào)(如果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中的序號(hào)(任何參數(shù)是null則返回
null,如果str沒找到返回0,參數(shù)1包含","時(shí)工作異常)

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

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

把參數(shù)1的數(shù)字轉(zhuǎn)為二進(jìn)制,假如某個(gè)位置的二進(jìn)制位等于1,對(duì)應(yīng)
位置的字串選入字串集并返回(null串不添加到結(jié)果中)

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排列字符串集,只有當(dāng)位等于1時(shí)插入字串on,否則插入
off(separator默認(rèn)值",",number_of_bits參數(shù)使用時(shí)長度不足補(bǔ)0
而過長截?cái)?

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)

讀入文件并且作為一個(gè)字符串返回文件內(nèi)容(文件無法找到,路徑
不完整,沒有權(quán)限,長度大于max_allowed_packet會(huì)返回null)

mysql> update table_name set blob_column=load_file
("/tmp/picture") where id=1;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纺阔,一起剝皮案震驚了整個(gè)濱河市看彼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖图张,帶你破解...
    沈念sama閱讀 210,835評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赊琳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡焊切,警方通過查閱死者的電腦和手機(jī)扮授,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來专肪,“玉大人刹勃,你說我怎么就攤上這事『坑龋” “怎么了荔仁?”我有些...
    開封第一講書人閱讀 156,481評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我乏梁,道長次洼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,303評(píng)論 1 282
  • 正文 為了忘掉前任遇骑,我火速辦了婚禮卖毁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘落萎。我一直安慰自己亥啦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,375評(píng)論 5 384
  • 文/花漫 我一把揭開白布练链。 她就那樣靜靜地躺著翔脱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪媒鼓。 梳的紋絲不亂的頭發(fā)上届吁,一...
    開封第一講書人閱讀 49,729評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音隶糕,去河邊找鬼瓷产。 笑死,一個(gè)胖子當(dāng)著我的面吹牛枚驻,可吹牛的內(nèi)容都是我干的濒旦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,877評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼再登,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼尔邓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锉矢,我...
    開封第一講書人閱讀 37,633評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤梯嗽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后沽损,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灯节,經(jīng)...
    沈念sama閱讀 44,088評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,443評(píng)論 2 326
  • 正文 我和宋清朗相戀三年绵估,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了炎疆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,563評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡国裳,死狀恐怖形入,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缝左,我是刑警寧澤亿遂,帶...
    沈念sama閱讀 34,251評(píng)論 4 328
  • 正文 年R本政府宣布浓若,位于F島的核電站,受9級(jí)特大地震影響蛇数,放射性物質(zhì)發(fā)生泄漏挪钓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,827評(píng)論 3 312
  • 文/蒙蒙 一苞慢、第九天 我趴在偏房一處隱蔽的房頂上張望诵原。 院中可真熱鬧英妓,春花似錦挽放、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至腿倚,卻和暖如春纯出,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背敷燎。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評(píng)論 1 264
  • 我被黑心中介騙來泰國打工暂筝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人硬贯。 一個(gè)月前我還...
    沈念sama閱讀 46,240評(píng)論 2 360
  • 正文 我出身青樓焕襟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親饭豹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸵赖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,435評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容