日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL中类似ORACLE中decode()判断语句实现

發布時間:2023/12/31 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL中类似ORACLE中decode()判断语句实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. IF函數

1. IF語句

IF expression THEN statements; END IF;

2. IF ELSE語句

IF expression THENstatements; ELSEelse-statements; END IF;或IF(expr1,expr2,expr3) -- expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),則 IF()的返回值為expr2; 否則返回值則為 expr3

3. IF ELSEIF ELSE語句

IF expression THENstatements; ELSEIF elseif-expression THENelseif-statements; ... ELSEelse-statements; END IF;

二. CASE語句

1. 簡單CASE語句

CASE case_expressionWHEN when_expression_1 THEN commandsWHEN when_expression_2 THEN commands...ELSE commands END CASE;
  • 簡單CASE語句來檢查表達式的值與一組唯一值的匹配
  • case_expression可以是任何有效的表達式。我們將case_expression的值與每個WHEN子句中的when_expression進行比較,如果case_expression和when_expression_n的值相等,則執行相應的WHEN分支中的命令(commands)
  • 如果WHEN子句中的when_expression與case_expression的值匹配,則ELSE子句中的命令將被執行。ELSE子句是可選的。 如果省略ELSE子句,并且找不到匹配項,MySQL將引發錯誤

舉例:

CASE customerCountryWHEN 'USA' THENSET p_shiping = '2-day Shipping';WHEN 'Canada' THENSET p_shiping = '3-day Shipping';ELSESET p_shiping = '5-day Shipping';END CASE;

2. 可搜索CASE語句

CASEWHEN condition_1 THEN commandsWHEN condition_2 THEN commands...ELSE commands END CASE;
  • MySQL評估求值WHEN子句中的每個條件,直到找到一個值為TRUE的條件,然后執行THEN子句中的相應命令(commands)
  • 如果沒有一個條件為TRUE,則執行ELSE子句中的命令(commands)。如果不指定ELSE子句,并且沒有一個條件為TRUE,MySQL將發出錯誤消息
  • MySQL不允許在THEN或ELSE子句中使用空的命令。 如果您不想處理ELSE子句中的邏輯,同時又要防止MySQL引發錯誤,則可以在ELSE子句中放置一個空的BEGIN END塊

舉例:

CASE WHEN creditlim > 50000 THEN SET p_customerLevel = 'PLATINUM';WHEN (creditlim <= 50000 AND creditlim >= 10000) THENSET p_customerLevel = 'GOLD';WHEN creditlim < 10000 THENSET p_customerLevel = 'SILVER';END CASE;

轉載注明出處:www.meidanlong.com 😃

總結

以上是生活随笔為你收集整理的MySQL中类似ORACLE中decode()判断语句实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。