位置:首頁(yè) > 軟件操作教程 > 數(shù)據(jù)分析 > MySQL > 問(wèn)題詳情

MySQL——case語(yǔ)句

提問(wèn)人:劉旭39發(fā)布時(shí)間:2020-10-13

case語(yǔ)句

第一種表達(dá)方式:

語(yǔ)法格式為:

CASE case_value

    WHEN when_value THEN statement_list

    [WHEN when_value THEN statement_list] ...

    [ELSE statement_list]

END CASE

說(shuō)明:一個(gè)CASE語(yǔ)句經(jīng)??梢猿洚?dāng)一個(gè)IF-THEN-ELSE語(yǔ)句。

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


例如

創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,當(dāng)參數(shù)值為M,返回結(jié)果為“男”,當(dāng)參數(shù)值為F,返回結(jié)果為“女” 。

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='無(wú)';

END CASE;

END$$

DELIMITER ;

第二種表達(dá)方式:相比第一種表達(dá)方式,case后面沒(méi)有參數(shù),這種格式能夠?qū)崿F(xiàn)更為復(fù)雜的條件判斷,使用起來(lái)更方便

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

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='無(wú)';

END CASE;

END$$

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

相關(guān)視頻回答
回復(fù)(0)
返回頂部