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语句示例
- 在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 ;
- 如果想在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,则状态正常。