国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL中的if和case語句使用總結(jié)

2024-07-24 12:46:26
字體:
供稿:網(wǎng)友

Mysql的if既可以作為表達(dá)式用,也可在存儲過程中作為流程控制語句使用,如下是做為表達(dá)式使用:

IF表達(dá)式

復(fù)制代碼 代碼如下:

IF(expr1,expr2,expr3)

如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),則 IF()的返回值為expr2; 否則返回值則為 expr3。IF() 的返回值為數(shù)字值或字符串值,具體情況視其所在語境而定。
復(fù)制代碼 代碼如下:

select *,if(sva=1,"男","女") as ssva from taname where sva != ""

作為表達(dá)式的if也可以用CASE when來實現(xiàn):
復(fù)制代碼 代碼如下:

select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where sva != ''

在第一個方案的返回結(jié)果中, value=compare-value。而第二個方案的返回結(jié)果是第一種情況的真實結(jié)果。如果沒有匹配的結(jié)果值,則返回結(jié)果為ELSE后的結(jié)果,如果沒有ELSE 部分,則返回值為 NULL。

例如:

復(fù)制代碼 代碼如下:

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ù)字或是字符串,具體情況取決于其所使用的語境。

復(fù)制代碼 代碼如下:

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) 的默認(rèn)結(jié)果值為兩個表達(dá)式中更加“通用”的一個,順序為STRING、 REAL或 INTEGER。

IF ELSE 做為流程控制語句使用

if實現(xiàn)條件判斷,滿足不同條件執(zhí)行不同的操作,這個我們只要學(xué)編程的都知道if的作用了,下面我們來看看mysql 存儲過程中的if是如何使用的吧。

復(fù)制代碼 代碼如下:

IF search_condition THEN
    statement_list 
[ELSEIF search_condition THEN] 
    statement_list ... 
[ELSE
    statement_list] 
END IF

與PHP中的IF語句類似,當(dāng)IF中條件search_condition成立時,執(zhí)行THEN后的statement_list語句,否則判斷ELSEIF中的條件,成立則執(zhí)行其后的statement_list語句,否則繼續(xù)判斷其他分支。當(dāng)所有分支的條件均不成立時,執(zhí)行ELSE分支。search_condition是一個條件表達(dá)式,可以由“=、<、<=、>、>=、!=”等條件運算符組成,并且可以使用AND、OR、NOT對多個表達(dá)式進(jìn)行組合。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 汝南县| 定西市| 延川县| 玉龙| 福泉市| 高邑县| 安仁县| 五常市| 南岸区| 越西县| 平罗县| 邯郸市| 南澳县| 镇江市| 会东县| 宝应县| 文登市| 高阳县| 荆门市| 方山县| 商洛市| 苏尼特右旗| 贵州省| 巩义市| 砀山县| 寿阳县| 闸北区| 墨江| 青铜峡市| 华坪县| 茶陵县| 古浪县| 大冶市| 蓬溪县| 灵寿县| 绿春县| 绥化市| 唐海县| 景泰县| 麦盖提县| 鄢陵县|