MySQL IF-THEN-ELSE语句

时间:2019-02-04 12:52:32  来源:igfitidea点击:

在MySQL中,IF-THEN-ELSE语句用于根据条件分别执行分支的代码。

语法

MySQL中IF-THEN-ELSE语句的语法为:

IF condition1 THEN
   {...statements to execute when condition1 is TRUE...}

[ ELSEIF condition2 THEN
   {...statements to execute when condition1 is FALSE and condition2 is TRUE...} ]

[ ELSE
   {...statements to execute when both condition1 and condition2 are FALSE...} ]

END IF;

参数说明
ELSEIF可选的。当想在第二个条件(即condition2)为TRUE时执行一组语句,那么就可以使用ELSEIF条件。
ELSE可选的。当IF或ELSEIF条件都不满足时,则可以使用ELSE条件执行一组语句。

MySQL IF-THEN-ELSE语句示例

  1. 在MySQL函数中使用IF-THEN-ELSE语句的示例:
DELIMITER //

CREATE FUNCTION IncomeLevel ( monthly_value INT )
RETURNS varchar(20)

BEGIN

   DECLARE income_level varchar(20);

   IF monthly_value <= 4000 THEN
      SET income_level = '低收入';

   ELSEIF monthly_value > 4000 AND monthly_value <= 7000 THEN
      SET income_level = '中等收入';

   ELSE
      SET income_level = '高收入';

   END IF;

   RETURN income_level;

END; //

DELIMITER ;
  1. 如果想在SELECT查询语句中使用类似if-else的功能,由于IF()是一个3元函数。
    所以应该这样写:
SELECT UnitPrice as '单价',
	IF (UnitPrice < 10 , '9.9专区',
     IF(UnitPrice >=10 AND UnitPrice <20 , '19.9专区',
		    '热销'
     )
  ) AS '分类'
FROM orderdetails

语法:

IF(条件,条件满足时的值,条件不满足时的值)

比如

IF(state=1,'状态正常','状态异常')

如果state字段的值等于1,则状态正常