MySQL常用函數(shù)

字符串相關函數(shù)

1 ASCII(String)

返回字符串第一個字母的ASCII碼:

SELECT ASCII('A');

SELECT ASCII('AB');

這兩條語句都是輸出65裸删!


2 BIN(long)

返回整數(shù)的二進制形式的字符串

SELECT BIN(15);

  輸出1111


3 CHAR(int…)

將每個整型轉換成對應的字符

SELECT CHAR(65,66,67,68,69);

輸出ABCDE

SELECTCHAR('65','66','67','68','69');

  參數(shù)為字符串時输钩,會被轉換成整型爷辱,然后再轉換成對應字符守谓。


4 CHAR_LENGTH(String)

返回字符串的長度当悔!’中國’這個字符串長度為2贤旷〉话玻’ab’長度為2!不分中英文嗽桩!

SELECT CHAR_LENGTH('a中b國c');

  輸出5


5 CHARACTER_LENGTH(String)

  與CHAR_LENGTH()完全相同岳守!


6 CONCAT(String…)

將多個字符串連接成一個字符串

SELECT CONCAT('My', 'SQL');

  輸出MySQL


7 CONCAT_WS(separator,String…)

使用第一個參數(shù)字符串,把其他參數(shù)字符串連接碌冶。

SELECT CONCAT_WS('-','A','B','C');

  輸出A-B-C


8 CONV(int n, intradix1, int radix2)

把n從radix1進制轉換成radix2進制湿痢。

SELECT CONV('F', 16, 10);

  一個個參數(shù)F是一個數(shù)值,第二個參數(shù)16說明F是16進制數(shù)值,第三個參數(shù)10說明要把F轉換成10進制譬重,所以輸出15拒逮。


9 ELT(N, str1,str2, str3…)

N是一個整數(shù),若N為1臀规,則返回str1滩援,若N為2,則返回str2塔嬉,以此類推

SELECT ELT(3, 'a', 'b', 'c','d', 'e');

  輸出c


10 EXPORT_SET(intbits, String on, String off, Strring separator, int length)

bits是一個整數(shù)玩徊,把bits轉換成二進制,其中1用on替換邑遏,0用off轉換佣赖,使用separator來連接每個二進制位恰矩,length是指定從左到右顯示幾位记盒。如果沒有指定length,那么會在右邊補足到64位外傅。

SELECT EXPORT_SET(13, 'a', 'b','-', 4);

輸出a-b-a-a纪吮,因為13的二進制是1011,其中1用a替換萎胰,而0用b替換碾盟。

SELECT EXPORT_SET(13, 'a', 'b','-', 3);

輸出a-b-a

SELECT EXPORT_SET(13, 'a', 'b','-', 10);

輸出a-b-a-a-b-b-b-b-b-b,因為13只有4位技竟,而length為10冰肴,那么會在右邊補足到10位,都是用0補榔组,所以才會多出來6個b熙尉。


流程控制函數(shù)

1 CASE value WHEN v1 THEN expr1 WHEN v2 THEN expr2 …. END

這種CASE WHEN THEN語句與Java中的switch語句基本相同:

SELECT CASE 3

WHEN 1 THEN 'a'

WHEN 2 THEN 'b'

WHEN 3 THEN 'c'

WHEN 4 THEN 'd'

END;


2 CASE WHENcondition THEN expr1 WHEN condition THEN expr2 … END

這種CASE WHEN THEN語句與Java中的多分支if/else if比較相似:

SELECT CASE

WHEN 1>2 THEN '1>2'

WHEN 1<2 THEN '1<2'

END;


3 IF(condition,expr1, expr1)

同時與Java中的if/else

SELECT

IF(1 > 0, '1>0','1<0');


4 INNULL(expr1,expr2)

當expr1為NULL時,那么函數(shù)返回expr2搓扯,否則返回expr1检痰。

SELECT

IFNULL(NULL, 'hello');

?

SELECT

IFNULL('hello', 'world');


常用函數(shù)

1 時間日期相關函數(shù)

[if !supportLists]l? [endif]CURRENT_DATE():輸出當前日期;

[if !supportLists]l? [endif]CURRENT_TIME():輸出當前時間锨推;

[if !supportLists]l? [endif]CURRENT_TIMESTAMP():輸出當前日期和時間铅歼,即輸出當前時間戳;

[if !supportLists]l? [endif]NOW():輸出當前日期和時間换可,與CURRENT_TIMESTAMP相同椎椰;

2 字符串相關函數(shù)

[if !supportLists]l? [endif]CONCAT('My',

'SQL'):輸出MySQL,即連接字符串沾鳄,參數(shù)可以是多個慨飘;

[if !supportLists]l? [endif]CHAR_LENGTH('helloworld中'):輸出11,返回字符串字符的個數(shù)洞渔;

[if !supportLists]l? [endif]UCASE('hello'):輸出HELLO套媚;

[if !supportLists]l? [endif]LCASE('HELLO'):輸出hello缚态;

[if !supportLists]l? [endif]LEFT('helloworld',5):輸出hello,輸出左邊5個字符堤瘤;

[if !supportLists]l? [endif]LENGTH('helloworld中'):輸出13玫芦,返回字符串所占字節(jié)數(shù)。當然本辐,如果client的字符集是gbk桥帆,那么就輸出12了;

[if !supportLists]l? [endif]STRCMP('zhan',

'zhao'):輸出-1慎皱,比較兩個字符串的大小老虫,如果前者大返回1,后者大返回-1茫多,相等返回0祈匙;

[if !supportLists]l? [endif]TRIM('?? hello??'):輸出hello,去除左右邊空白天揖;

3 數(shù)學運算相關函數(shù)

[if !supportLists]l? [endif]ABS(-100):輸出100夺欲,求絕對值祭芦;

[if !supportLists]l? [endif]BIN(15):輸出1111播掷,即15的二進制字符串;

[if !supportLists]l? [endif]FORMAT(1.23456,

3):輸出1.235舀寓,保留3位小數(shù)(四舍五入)斑唬,如果整數(shù)部分大于3位會有逗號出現(xiàn)市埋;

[if !supportLists]l? [endif]HEX(15):輸出F,即出來16進制表示形式恕刘;

[if !supportLists]l? [endif]MOD(10,

3):輸出1缤谎,即取余運算;

[if !supportLists]l? [endif]RAND():輸出0~1之間的隨機小數(shù)雪营;

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末弓千,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子献起,更是在濱河造成了極大的恐慌洋访,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谴餐,死亡現(xiàn)場離奇詭異姻政,居然都是意外死亡,警方通過查閱死者的電腦和手機岂嗓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門汁展,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事食绿〕薰荆” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵器紧,是天一觀的道長耀销。 經常有香客問我,道長铲汪,這世上最難降的妖魔是什么熊尉? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮掌腰,結果婚禮上狰住,老公的妹妹穿的比我還像新娘。我一直安慰自己齿梁,他們只是感情好催植,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著士飒,像睡著了一般查邢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上酵幕,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音缓苛,去河邊找鬼芳撒。 笑死,一個胖子當著我的面吹牛未桥,可吹牛的內容都是我干的笔刹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼冬耿,長吁一口氣:“原來是場噩夢啊……” “哼舌菜!你這毒婦竟也來了?” 一聲冷哼從身側響起亦镶,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤日月,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缤骨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爱咬,經...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年绊起,在試婚紗的時候發(fā)現(xiàn)自己被綠了精拟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蜂绎,靈堂內的尸體忽然破棺而出栅表,到底是詐尸還是另有隱情,我是刑警寧澤师枣,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布谨读,位于F島的核電站,受9級特大地震影響坛吁,放射性物質發(fā)生泄漏劳殖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一拨脉、第九天 我趴在偏房一處隱蔽的房頂上張望哆姻。 院中可真熱鬧,春花似錦玫膀、人聲如沸矛缨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽箕昭。三九已至,卻和暖如春解阅,著一層夾襖步出監(jiān)牢的瞬間落竹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工货抄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留述召,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓蟹地,卻偏偏與公主長得像积暖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子怪与,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,810評論 0 38
  • 在秋月下 十指弄長發(fā) 細看月華流水 前額到下頜 像鍍上錫箔 月光染在頭發(fā) 天涯 月光落在白發(fā) 潮濕誰的心 寫于20...
    蘇shi閱讀 168評論 1 10