最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL控制流函數(shù)(-if?,elseif,else,case...when)

 更新時間:2022年07月06日 09:31:40   作者:王小王_123???????  
這篇文章主要介紹了MySQL控制流函數(shù)(-if?,elseif,else,case...when),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下

前言

不管是任何的編程語言,邏輯判斷是必不可缺的一個板塊;在Python、C、java這些火熱的編程語言下,邏輯判斷也是編程語言的一個亮點。

IF(expr1,expr2,expr3) 簡單邏輯判斷

如果第一個條件成立,那么就返回expr2,如果條件不成立,那么就返回expr3

IFNULL(v1,v2) 空值替換

如果 v1 的值不為 NULL,則返回 v1,否則返回 v2。

??ISNULL(expression) 空值檢測

判斷表達式是否為 NULL

如果為空就會返回1,不為空就會返回0,有時候我們用于邏輯判斷,或者循環(huán)語句的時候可以采用

??NULLIF(expr1, expr2) 字符串比較

比較兩個字符串,如果字符串 expr1 與 expr2 相等 返回 NULL,否則返回 expr1

 但是在應(yīng)用型的編程中,第一個還是用的比較的多,那么有的人就會想,有時候我們有多個條件需要比較的,那么這個方法就無法實現(xiàn)了,又該如何去實現(xiàn)呢?

??case 函數(shù)

CASE expression
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END

CASE 表示函數(shù)開始,END 表示函數(shù)結(jié)束。如果 condition1 成立,則返回 result1, 如果 condition2 成立,則返回 result2,當全部不成立則返回 result,而當有一個成立之后,后面的就不執(zhí)行了。

傳入一個參數(shù)即可,后面我們在寫存儲過程(函數(shù))的時候,可以充分的應(yīng)用

這里沒有傳參,知識按照邏輯判斷進行,如果為真那么就會返回結(jié)果,如果第一個條件就已經(jīng)滿足了,那么就不會執(zhí)行后續(xù)的判斷了

?? 實操案例

準備數(shù)據(jù)

-- 創(chuàng)建訂單表
create table orders(
oid int primary key, -- 訂單id
price double, -- 訂單價格
payType int -- 支付類型(1:微信支付 2:支付寶支付 3:銀行卡支付 4:其他)
);

insert into orders values(1,1200,1);
insert into orders values(2,1000,2);
insert into orders values(3,200,3);
insert into orders values(4,3000,1);
insert into orders values(5,1500,2);

我們可以通過兩種方式的語法來講我們的支付方式顯示出現(xiàn),因為在業(yè)務(wù)場景中我們?yōu)榱吮WC數(shù)據(jù)的有效性和保密性,有些數(shù)據(jù)我們會公司內(nèi)部的編碼實現(xiàn),那么需要將其展示到老板的眼前的時候,這個時候就需要你來了

7

上述分別是用了等值判斷和值的映射去實現(xiàn),一般我更喜歡使用第一種,因為有時候還可以范圍運算

學(xué)到這里的小伙伴,可能就會疑問為什么,MySQL編程中如此的單一了,如果你覺得單一,那么你肯定是再想為什么不能實現(xiàn)控制流語句呢?

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

這個一般和存儲過程搭配使用,相對于Python中的函數(shù),存儲過程就是函數(shù)

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對多個表達式進行組合。

注意:IF作為一條語句,在END IF后需要加上分號“;”以表示語句結(jié)束,其他語句如CASE、LOOP等也是相同的。

例如:

SELECT olddb.STATUS INTO @status_temp FROM olddb.checklist WHERE ID = NEW.ID - 1000000;
IF @status_temp < 5
THEN SET NEW.status = @status_temp +1;
ELSEIF @status_temp = 5
THEN SET NEW.status = 7;
ELSEIF @status_temp = 6
THEN SET NEW.status = 10;
ELSEIF @status_temp = 7
THEN SET NEW.status = 11;
END IF;

到此這篇關(guān)于MySQL控制流函數(shù)(-if ,elseif,else,case...when)的文章就介紹到這了,更多相關(guān)MySQL控制流函數(shù) 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql定時數(shù)據(jù)庫備份實現(xiàn)的保姆級教程

    Mysql定時數(shù)據(jù)庫備份實現(xiàn)的保姆級教程

    數(shù)據(jù)備份本身主要是為了預(yù)防一些意外,例如服務(wù)器或者個人電腦的硬件故障、人為的錯誤操作等情況,這篇文章主要給大家介紹了Mysql定時數(shù)據(jù)庫備份實現(xiàn)的保姆級教程,需要的朋友可以參考下
    2024-12-12
  • Mysql報錯1292:Incorrect datetime value for column creat解決方案

    Mysql報錯1292:Incorrect datetime value for 

    本文主要介紹了Mysql報錯1292:Incorrect datetime value for column create_time at row 1 解決方案,1292 是指插入或更新操作時,日期或時間值不正確引起的錯誤,下面就來介紹一下
    2024-02-02
  • 圖解MySQL中樂觀鎖扣減庫存原理

    圖解MySQL中樂觀鎖扣減庫存原理

    這篇文章主要為大家詳細介紹了MySQL中樂觀鎖扣減庫存原理的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-04-04
  • MySql 錯誤Incorrect string value for column

    MySql 錯誤Incorrect string value for column

    能使用中文進行搜索,但是insert into 中文是可以的。我的數(shù)據(jù)庫和數(shù)據(jù)表中所有的charset都是設(shè)置的utf8。
    2010-12-12
  • MySQL中庫的基本操作指南(推薦!)

    MySQL中庫的基本操作指南(推薦!)

    MySQL這個數(shù)據(jù)庫是一個客戶端-服務(wù)器結(jié)構(gòu)的程序,下面這篇文章主要給大家介紹了關(guān)于MySQL中庫的基本操作指南,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 重置mysql的root密碼最簡單的方法

    重置mysql的root密碼最簡單的方法

    在本篇文章里小編給大家整理的是關(guān)于重置mysql的root密碼最簡單的方法,需要的朋友們參考下。
    2020-03-03
  • MySQL OOM(內(nèi)存溢出)的解決思路

    MySQL OOM(內(nèi)存溢出)的解決思路

    這篇文章主要介紹了MySQL OOM(內(nèi)存溢出)的解決思路,文中講解非常細致,幫助大家在學(xué)習(xí)工作中解決內(nèi)存溢出的問題,感興趣的朋友可以了解下
    2020-08-08
  • MySQL詳解進行JDBC編程與增刪改查方法

    MySQL詳解進行JDBC編程與增刪改查方法

    JDBC是指Java數(shù)據(jù)庫連接,是一種標準Java應(yīng)用編程接口( JAVA API),用來連接 Java 編程語言和廣泛的數(shù)據(jù)庫。從根本上來說,JDBC 是一種規(guī)范,它提供了一套完整的接口,允許便攜式訪問到底層數(shù)據(jù)庫
    2022-06-06
  • Mysql常用基準測試命令總結(jié)

    Mysql常用基準測試命令總結(jié)

    在本篇文章中我們給大家分享了關(guān)于Mysql常用基準測試命令的總結(jié)內(nèi)容,有需要的讀者們可以學(xué)習(xí)下。
    2018-10-10
  • mysql替換表中的字符串的sql語句

    mysql替換表中的字符串的sql語句

    替換字段里數(shù)據(jù)內(nèi)容部分字符串,這個在替換網(wǎng)址呀什么的最經(jīng)常用了,發(fā)布一下做個筆記
    2008-06-06

最新評論

曲麻莱县| 西华县| 武夷山市| 冀州市| 临高县| 屯昌县| 黄山市| 巴林右旗| 江西省| 汉川市| 柳林县| 张家口市| 岱山县| 扶绥县| 登封市| 永宁县| 道孚县| 丹江口市| 商南县| 田阳县| 安康市| 城市| 晴隆县| 石泉县| 河南省| 阿合奇县| 唐山市| 从化市| 大埔县| 阿拉善左旗| 景宁| 正定县| 宁乡县| 彭泽县| 沈丘县| 昌黎县| 瓮安县| 涡阳县| 西安市| 镇坪县| 磐石市|