MySQL IF-THEN-ELSE语句


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

语法

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

1
2
3
4
5
6
7
8
9
10
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语句的示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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元函数。
    所以应该这样写:
1
2
3
4
5
6
7
SELECT UnitPrice as '单价',
IF (UnitPrice < 10 , '9.9专区',
IF(UnitPrice >=10 AND UnitPrice <20 , '19.9专区',
'热销'
)
) AS '分类'
FROM orderdetails

语法:

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

比如

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

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


原文链接:https://codingdict.com/