生活随笔
收集整理的這篇文章主要介紹了
Mysql数据库If语句的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MySQL的if既可以作為表達式用,也可在存儲過程中作為流程控制語句使用,如下是做為表達式使用:
IF表達式
[sql]?view plaincopy
IF(expr1,expr2,expr3)?? 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),則 IF()的返回值為expr2; 否則返回值則為 expr3。IF() 的返回值為數字值或字符串值,具體情況視其所在語境而定。
[sql]?view plaincopy
select?if(sva=1,"男","女")?as?ssva?from?taname?where?id?=?'111'?? 作為表達式的if也可以用CASE when來實現:
[sql]?view plaincopy
select?CASE?sva?WHEN?1?THEN?'男'?ELSE?'女'?END?as?ssva?from?taname?where?id?=?'1'?? 在第一個方案的返回結果中, value=compare-value。而第二個方案的返回結果是第一種情況的真實結果。如果沒有匹配的結果值,則返回結果為ELSE后的結果,如果沒有ELSE 部分,則返回值為 NULL。
[sql]?view plaincopy
SELECT?CASE?1?WHEN?1?THEN?'one'?? ??WHEN?2?THEN?'two'??? ???ELSE?'more'?END?? as?testCol?? 將輸出one
IFNULL(expr1,expr2)
假如expr1 不為 NULL,則 IFNULL() 的返回值為 expr1; 否則其返回值為 expr2。IFNULL()的返回值是數字或是字符串,具體情況取決于其所使用的語境。
[sql]?view plaincopy
mysql>?SELECT?IFNULL(1,0);?? ????????->?1?? mysql>?SELECT?IFNULL(NULL,10);?? ????????->?10?? mysql>?SELECT?IFNULL(1/0,10);?? ????????->?10?? mysql>?SELECT?IFNULL(1/0,'yes');?? ????????->?'yes'?? IFNULL(expr1,expr2) 的默認結果值為兩個表達式中更加“通用”的一個,順序為STRING、 REAL或 INTEGER。
IF ELSE 做為流程控制語句使用
if實現條件判斷,滿足不同條件執行不同的操作,這個我們只要學編程的都知道if的作用了,下面我們來看看mysql 存儲過程中的if是如何使用的吧。
[sql]?view plaincopy
IF?search_condition?THEN??? ????statement_list???? [ELSEIF?search_condition?THEN]???? ????statement_list?...???? [ELSE??? ????statement_list]???? END?IF??? 與PHP中的IF語句類似,當IF中條件search_condition成立時,執行THEN后的statement_list語句,否則判斷ELSEIF中的條件,成立則執行其后的statement_list語句,否則繼續判斷其他分支。當所有分支的條件均不成立時,執行ELSE分支。search_condition是一個條件表達式,可以由“=、<、<=、>、>=、!=”等條件運算符組成,并且可以使用AND、OR、NOT對多個表達式進行組合。
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
來源:http://blog.csdn.net/csdn_wangqi/article/details/53218782
總結
以上是生活随笔為你收集整理的Mysql数据库If语句的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。