mysql各种IF的判断方法

mysql中有的IF判断可以直接在SQL中写出来运行,有的IF不能直接在SQL中运行,但可以写在函数、存储过程及触发器中进行判断。现在有如下案例:


###################################在SQL中的判断######################################################
#IF(表达式,如果表达式成立则返回该值,如果表达式不成立则返回该值)
SELECT IF('a'='a','1','2') result;
#IFNULL(表达式,如果表达式不是null则返回表达式的值,否则返回第二个参数。)
SELECT IFNULL(NULL,'1')
####################################在存储过程、函数及触发器的判断#######################################
#案例1:如果表达式'1'='1'成立,则执行select '1'。
IF 
	'1'='1'
THEN 
	SELECT '1';
END IF ;
#案例2:如果表达式'1'='1'成立,则执行SELECT '1',否则执行SELECT '2'。
IF 
	'1'='1'
THEN 
	SELECT '1';
ELSE
	SELECT '2';
END IF ;
#案例3:如果表达式'1'='1'成立,则执行SELECT '1',如果前一个表达式不成立则执行ELSEIF '2'='2'的判断,
#都不满足条件执行SELECT '3'。
IF 
	'1'='1'
THEN 
	SELECT '1';
ELSEIF 
	'2'='2'
THEN
	SELECT '2';
ELSE
	SELECT '3';
END IF ;

注意

1、THEN和ELSE后面的SQL需要以分号结尾;

2、IF中的表达式不能用分号结尾;

3、END IF后面需要以分号结尾。

发布了93 篇原创文章 · 获赞 83 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_39706570/article/details/101073349
今日推荐