今天就跟大家聊聊有關(guān)MySQL中有哪些條件判斷函數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

【1】IF()
先看看其語法格式:IF(expr,v1,v2);
再看看其執(zhí)行邏輯:若expr是TRUE(即:expr<>0andexpr<>NULL),則該函數(shù)返回值為v1,否則返回值為v2。
所以,我們得出結(jié)論是其返回的值是在函數(shù)的入?yún)⒅兄付ā?/p>
接著我們來從簡單案例著手,由淺入深來探索其真正的價值。
IF(2019>2018,TRUE,FALES)執(zhí)行報錯,我們可以得知函數(shù)中可以指定的值為MySQL保留詞;
從IF(2019>2018,TRUE,FALSE)返回結(jié)果為1而不是TRUE可以得知,MySQL對TRUE再做了一次運算,即視TRUE為1;
接著我們嘗試是否可以在expr封裝其他復雜邏輯(譬如函數(shù))。
函數(shù)STRCMP('AEV','UCR')的計算結(jié)果為-1,即不等于0也不為NULL;
依據(jù)函數(shù)STRCMP('AEV','UCR')的返回值,IF()返回的結(jié)果是v1(即:YES)。
【2】IFNULL()
該函數(shù)則相對比較簡單,從它的語法格式IFNULL(v1,v2)可以看出它只需定義返回值不需定義判斷表達式,因為其函數(shù)名本身就是判斷的含義。
判斷兩個參數(shù)是否為NULL;
若兩個參數(shù)都不為空,則返回第一個參數(shù)值;
若第一個為空則返回第二個參數(shù)值;
兩個參數(shù)也是可以封裝更復雜的運算(譬如函數(shù))。
【3】CASE
看語法格式我們會發(fā)現(xiàn)此類函數(shù)寫法上比較麻煩,但其表達的邏輯卻最貼近我們?nèi)粘5乃季S習慣。
CASEexprWHENv1THENr1[WHENv2THENr2]...[WHENvnTHENrn]...[ELSEr(n+1)]END或CASEWHENv1THENr1[WHENv2THENr2]...[WHENvnTHENrn]...ELSEr(n+1)]END
用通俗的話來讀這個判斷函數(shù)的就是:在條件expr滿足條件v1就返回值r1,滿足條件v2就返回值r2……否則就返回一個指定的值r(n+1)。
【結(jié)論】兩種寫法的效果是一致的。
看完上述內(nèi)容,你們對MySQL中有哪些條件判斷函數(shù)有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
分享名稱:MySQL中有哪些條件判斷函數(shù)-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://www.chinadenli.net/article34/djdhpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、用戶體驗、外貿(mào)網(wǎng)站建設(shè)、定制網(wǎng)站、App設(shè)計、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容