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