mysql函數(shù)匯總之條件判斷函數(shù)

條件判斷函數(shù)也被稱為控制流程函數(shù),根據(jù)滿足的不同條件,執(zhí)行響應(yīng)的流程。mysql中進行條件判斷的函數(shù)有if、ifunllcase等。

IF(expr,v1,v2)函數(shù)

IF(expr,v1,v2):如果表達式exprTRUEexpr <> 0 and expr <> null),則返回值為V1;否則返回值為V2。

mysql> select if (1>2, 2, 3), if (1<2, 'yes', 'no');
+----------------+-----------------------+
| if (1>2, 2, 3) | if (1<2, 'yes', 'no') |
+----------------+-----------------------+
| 3 | yes |
+----------------+-----------------------+
1 row in set (0.00 sec)
mysql>

小提示:

如果V1或者V2中只有一個明確是null,則if()函數(shù)的結(jié)果類型為非null表達式的結(jié)果類型。

IFNULL(v1,v2)函數(shù)

ifnull(v1,v2):假如V1不為null,則ifnull()的返回值為v1;否則其返回值為v2。

ifnull()的返回值是數(shù)字或者字符串,具體情況取決于其所在的語境。

mysql> select ifnull(1, 2), ifnull(null, 'yunweijia'), ifnull(1/0, 'heihei');
+--------------+---------------------------+-----------------------+
| ifnull(1, 2) | ifnull(null, 'yunweijia') | ifnull(1/0, 'heihei') |
+--------------+---------------------------+-----------------------+
| 1 | yunweijia | heihei |
+--------------+---------------------------+-----------------------+
1 row in set (0.00 sec)
mysql>

CASE函數(shù)

case expr when v1 then r1 [when v2 then 2]...[else rn+1]end:如果expr值等于某個vn,則返回對應(yīng)位置then后面的結(jié)果;如果與所有值都不相等,則返回else后面的rn+1。

mysql> select case 2 when 1 then 'one' when '2' then 'two' else 'more' end;
+--------------------------------------------------------------+
| case 2 when 1 then 'one' when '2' then 'two' else 'more' end |
+--------------------------------------------------------------+
| two |
+--------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>
mysql> select case 5 when 1 then 'one' when '2' then 'two' else 'more' end;
+--------------------------------------------------------------+
| case 5 when 1 then 'one' when '2' then 'two' else 'more' end |
+--------------------------------------------------------------+
| more |
+--------------------------------------------------------------+
1 row in set (0.00 sec)
mysql>

小提示:

可以按照shell中的if語句來理解。

一個case表達式的默認返回值類型是任何返回值的相容集合類型,但具體情況視其所在語境而定。

至此,本文結(jié)束。?

更多內(nèi)容請轉(zhuǎn)至VX公眾號 “運維家” ,獲取最新文章。

------ “運維家”? ------

------ “運維家”? ------

------ “運維家”? ------

linux中斷異常,linuxuml建模,linux編譯多個源文件,linux怎么更新時間,linux中的分頁視頻教程,

linux怎么解壓gzip,linux解壓某個目錄,怎么關(guān)閉linux網(wǎng)關(guān),linux文件架構(gòu)圖,linux提高權(quán)限執(zhí)行,

linux文件用什么標(biāo)志,網(wǎng)絡(luò)安全linux加固,linux中查看郵件,linux修改背景顏色,linux環(huán)境下搭建網(wǎng)站。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容