MySQL的if可以用作存储过程中的表达式或过程
控制语句,如下所示:
如果表达
复制代码代码如下所示:
如果(expr1,expr2,expr3)
如果expr1的值为true(expr1和expr1空<> <> 0),如果()的返回值是表达式;否则,返回值是expr3。返回值如果()是一个数值或字符串值,取决于上下文中,它位于。
复制代码代码如下所示:
SELECT *,如果(SVA = 1,男
如果作为表达式,也可以用实例来实现:
复制代码代码如下所示:
选择案例广电当1然后'然后'男'人'女'结束ssva从taname哪里!=
在第一个方案的返回结果,价值= compare-value.the第二格式返回结果是第一种
情况真实的结果。如果没有匹配的结果值,否则返回后的结果,如果有任何部分的人,返回值为空。
例如:
复制代码代码如下所示:
选择1例1 then'one时
当2 then'two
else'more'end
作为testcol
输出一个
ifnull(expr1,expr2)
如果expr1的值不为空,则返回值()是ifnull expr1的值;否则返回值是表达式,ifnull返回值()是一个数字或字符串,这取决于它被使用的上下文。
复制代码代码如下所示:
MySQL >选择ifnull(1,0);
> 1
MySQL >选择ifnull(null,10);
> 10
MySQL >选择ifnull(1 / 10);
> 10
MySQL >选择ifnull(1 / 0,是的);
->是
对于ifnull
默认值(expr1,expr2)是较常见的两个表达式,在字符串中,真正的
命令或整数。
如果另一个用作过程控制语句
如果实现
条件判断,满足不同条件
执行不同
操作。只要我们
学习编程,我们就知道。现在让我们看看如何在MySQL存储过程中使用。
复制代码代码如下所示:
如果search_condition然后
statement_list
{ } elseif search_condition然后
statement_list…
{其他
statement_list }
最后如果
类似的语句在PHP中,当条件search_condition是建立在如果,然后statement_list语句被执行。否则,对条件判断,然后statement_list语句被执行,否则,其他部门继续进行判断。当所有分支条件不成立,其他部门executed.search_condition是一个条件表达式,由=,=,>,!=条件
运算符,可以使用和或不使用多个表达式的组合。
例如,一个存储过程的建立,存储过程按学号和课程号(student_no)(course_no)(级),
查询结果返回到成就和成就水平,得分超过90分,低于90分的80分大于或等于B,小于80分大于或等于70为C,其次是大肠杆菌,该代码
创建存储过程如下:
复制代码代码如下所示:
创建
程序dbname.proc_getgrade
(stu_no varchar(20),cour_no varchar(10))
开始
声明stu_grade浮;
选择等级为级,stu_grade student_no = stu_no和course_no = cour_no;
如果stu_grade > = 90
选择stu_grade,'A';
stu_grade = 80
选择stu_grade,B;
stu_grade = 70
选择stu_grade,C;
stu_grade70和stu_grade > = 60
选择stu_grade,会;
其他的
选择stu_grade,e;
最后如果;
结束
注意:作为一个语句,如果需要在结束后添加一个分号,如果要指示语句的结束,而其他语句,如案例、循环,则是相同的。