溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

MySQL講解條件判斷函數(shù)的示例

發(fā)布時(shí)間:2021-03-03 11:47:48 來(lái)源:億速云 閱讀:318 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要介紹了MySQL講解條件判斷函數(shù)的示例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

MySQL講解條件判斷函數(shù)的示例

函數(shù):

(1)IF(expr,v1,v2)函數(shù)
(2)IFNULL(v1,v2)函數(shù)
(3)CASE函數(shù)

(相關(guān)免費(fèi)學(xué)習(xí)推薦:mysql視頻教程)

(1)if(expr,v1,v2)函數(shù)
  • 在if(expr,v1,v2)函數(shù)中,若表達(dá)式expr是true(expr<>0 and epr<>null)返回v1,否則返回v2。

【例】使用if()函數(shù)進(jìn)行條件判斷,SQL語(yǔ)句如下:

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

(2)ifnull(v1,v2)函數(shù)
  • 在ifnull(v1,v2)中,假如v1不為null,則ifnull()的返回值為v1,否則返回值為v2。

  • 如果v1或v2中只有一個(gè)明確是null,則if()函數(shù)的結(jié)果類(lèi)型為非null表達(dá)式的結(jié)果類(lèi)型。

【例】使用ifnull()函數(shù)進(jìn)行條件判斷,SQL語(yǔ)句如下:

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

(3)case函數(shù)

1.case expr when v1 then r1 [ when v2 then r2] [else rn] end

  • 該函數(shù)表示,如果expr值等于某個(gè)vi,則返回對(duì)應(yīng)位置then后面的結(jié)果,如果與所有值都不相等,則返回else后面的m。

【例】使用case value when語(yǔ)句執(zhí)行分支操作,SQL語(yǔ)句如下;

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)

2.case when v1 then rv [when v2 then r2] else rn] end

  • 該函數(shù)表示,某個(gè)vi值為true時(shí),返回對(duì)應(yīng)位置then后面的結(jié)果,如果所有值都不為true,則返回else后面的rn。

  • 一個(gè)case表達(dá)式的默認(rèn)返回值類(lèi)型是任何返回值的相容集合類(lèi)型,具體情況視其所在語(yǔ)境而定。

【例】使用case when 語(yǔ)句執(zhí)行分支操作,SQL語(yǔ)句如下:

mysql> select case when 1<0 then 'true' else 'false' end;+--------------------------------------------+| case when 1<0 then 'true' else 'false' end |+--------------------------------------------+| false                                      |+--------------------------------------------+1 row in set (0.00 sec)

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“MySQL講解條件判斷函數(shù)的示例”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI