位置:首頁 > 軟件操作教程 > 數據分析 > MySQL > 問題詳情

MySQL——case語句

提問人:劉旭39發(fā)布時間:2020-10-13

case語句

第一種表達方式:

語法格式為:

CASE case_value

    WHEN when_value THEN statement_list

    [WHEN when_value THEN statement_list] ...

    [ELSE statement_list]

END CASE

說明:一個CASE語句經??梢猿洚斠粋€IF-THEN-ELSE語句。

第一種格式中case_value是要被判斷的值或表達式,接下來是一系列的WHEN-THEN塊,每一塊的when_value參數指定要與case_value比較的值,如果為真,就執(zhí)行statement_list中的SQL語句。如果前面的每一個塊都不匹配就會執(zhí)行ELSE塊指定的語句。CASE語句最后以END CASE結束。


例如

創(chuàng)建一個存儲過程,當參數值為M,返回結果為“男”,當參數值為F,返回結果為“女” 。

DELIMITER $$

CREATE PROCEDURE XSCJ.RESULT

(IN str VARCHAR(4), OUT sex VARCHAR(4) )

BEGIN

 CASE str

WHEN 'M' THEN SET sex='男';

WHEN 'F' THEN SET sex='女';

ELSE  SET sex='無';

END CASE;

END$$

DELIMITER ;

第二種表達方式:相比第一種表達方式,case后面沒有參數,這種格式能夠實現更為復雜的條件判斷,使用起來更方便

用第二種格式的CASE語句創(chuàng)建以上存儲過程。程序片段如下:

CREATE PROCEDURE XSCJ.RESULT

(IN str VARCHAR(4), OUT sex VARCHAR(4) )

BEGIN

CASE 

WHEN str='M' THEN SET sex='男';

WHEN str='F' THEN SET sex='女';

ELSE  SET sex='無';

END CASE;

END$$

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部