mysql的IF()、IFNULL()、WHEN CASE的用法

一、IF()

1、语法:IF(expr1,expr2,expr3);

2、含义:若expr1为true(expr1不为0并且不为空),返回expr2,否则返回expr3;

3、例:

	select benefit,IF(benefit,'a','b') benefit2 from product_spu;
运行效果如下:



二、IFNULL()

1、语法:IFNULL(expr1,expr2);

2、含义:如果expr1不为NULL,就返回exprq,否则返回expr2;

3、例:

	select benefit,IFNULL(benefit,'a') benefit2 from product_spu;
运行效果如下:

三、 case when

1、语法:CASE WHEN condition1 THEN result1 [WHEN condition2 THEN result2 ...] [ELSE resultN] END

2、含义:若condition1为TRUE,则返回result1 ,否则若condition2为true则返回result2...,若均不满足则返回resultN

3、例:

	select `status`,
		case when status='10' then '在售商品' 
			when status='20' then '禁售商品'
			when status='30' then '仓库中商品'
		else '其他' end status2
	from product_spu;
运行效果如下:


猜你喜欢

转载自blog.csdn.net/qq_33157666/article/details/78379276