MySQL数据库IF语句的使⽤详解
的 if 既可以作为表达式⽤,也可在存储过程中作为流程控制语句使⽤,如下是做为表达式使⽤:
mysql语句顺序IF表达式:
IF(expr1, expr2, expr3)
说明:
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境⽽定。
例如:
html中的单标签select if(num=1, "男", "⼥") as gender from info_table where id = '111'
IF表达式也可以⽤CASE WHEN 来实现:
select CASE num WHEN 1 THEN '男' ELSE '⼥' END as gender from info_table where id = '1'
⽰例:
有⼀张 seat 座位表,⽤来储存学⽣名字和与他们相对应的座位 id。其中纵列的 id 是连续递增的, 要想改变相邻俩学⽣的座位, 可以⽤以下⽅法
注意:如果学⽣⼈数是奇数,则不需要改变最后⼀个同学的座位
select (case
when id%2=1 and id!=(select count(*) from seat) then id+1
when id%2=0 then id-1
else id
end) id, student
from seat
order by id;
说明: 如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。
IFNULL⽤法:
IFNULL(expr1, expr2)
说明:
假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使⽤的语境。
朗逸汽车报价及图片⽰例:
mysql> SELECT IFNULL(1,0);
-> 1
sumproduct是数组公式吗mysql> SELECT IFNULL(NULL,10);activities on weekends是什么意思
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT IFNULL(1/0,'yes');
-> 'yes'
注意: IFNULL(expr1,expr2) 的默认结果值为两个表达式中更加“通⽤”的⼀个,顺序为STRING、 REAL或 INTEGER。
IF ELSE 做为流程控制语句使⽤
if 实现条件判断,满⾜不同条件执⾏不同的操作,这个我们只要学编程的都知道if的作⽤了,下⾯我们来看看mysql 存储过程中的if 是如何使⽤的吧。
⽰例:
IF search_condition THEN
statement_list
[ELSEIF search_condition THEN]
statement_list ...
[ELSE
失荣证statement_list]
END IF
说明:
当IF中条件search_condition成⽴时,执⾏THEN后的statement_list语句,否则判断ELSEIF中的条件,成⽴则执⾏其后的statement_list语句,否则继续判断其他分⽀。当所有分⽀的条件均不成⽴时,执⾏ELSE分⽀。search_condition是⼀个条件表达式,可以由“=、<、<=、>、>=、!=”等条件运算符组成,并且可以使⽤AND、OR、NOT对多个表达式进⾏组合。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论