首页 > 数据库 >MySQL中IF语句的使用

MySQL中IF语句的使用

时间:2023-03-16 10:36:41浏览次数:60  
标签:语句 no grade MySQL sva stu expr1 使用 select

mysql中if语句的使用

参考地址:https://www.php.cn/mysql-tutorials-417851.html

1 IF表达式

  • IF(expr1,expr2,expr3)
    如果expr1是true,则返回expr2,否则返回expr3
select *,if(sva=1,"男","女") as ssva from taname where sva !='';

从thanam表中sva不为空的条件下,sva等于1时返回男,否则返回女。

2 CASE WHEN

select CASE sva WHEN 1 THEN '男‘ ELSE END as ssva 
from thanam where sva !='';

从thanam表中sva不为空的条件下,sva等于1时返回男,否则返回女。

3 IFNULL

  • IFNULL(expr1,expr2)

expr1不为NULL ,则返回值为expr1,否则返回值为expr2。IFNULL返回的是数字或者是字符串,具体情况取决于具体的语境。

IF ELSE 做为流程控制语句

IF condition THEN   -- 当condition成立时,执行THEN之后的语句statement,其中ccondition是一个条件表达式
statement 
[ELSEIF  condition THEN] -- 否则判断其他分支,执行其他分支
statement
.....
[ELSE  statement]  END IF; -- 最后以END IF; 结束

例如,建立一个存储过程,该存储过程通过学生学号(student_no)和课程编号(course_no)查询其成绩(grade),返回成绩和成绩的等级,成绩大于90分的为A级,小于90分大于等于80分的为B级,小于80分大于等于70分的为C级,依次到E级。那么,创建存储过程的代码如下:

create procedure dbname.proc getGrade(
stu no varchar(20),
cour_no varchar(10)
) BEGIN declare stu grade float;

select grade into stu_gradefrom grade where student_no=stu_no and_course no=cour_no;

if stu_grade>=90 then
select stu grade,"A'; elseif stu_grade<90 and stu_grade>=80 then
select stu_grade , "B';elseif stu_grade<80 and stu_grade>=70 then
select stu_grade,'C';elseif stu_grade70 and stu_grade>=60 then
select stu_grade,'D';else
select stu_grade,'E';end if;END

标签:语句,no,grade,MySQL,sva,stu,expr1,使用,select
From: https://www.cnblogs.com/manmc/p/17221337.html

相关文章

  • C语言编程>第五周 ④ 编写一个程序,使用函数统计一串字符中的小写字母的个数, 该函数参数
    例题:编写一个程序,使用函数统计一串字符中的小写字母的个数,该函数参数为一个字符数组,返回值为小写字母的个数,在主函数中从键盘接受一串字符,并调用统计函数求出小写字母的个数......
  • Java 使用 ResourceBundle 类读取 properties 文件中文乱码的解决方案
    Java使用ResourceBundle类读取properties文件中文乱码的解决方案https://www.cnblogs.com/poterliu/p/10159577.htmlJava使用java.util.ResourceBundle类的方式来......
  • 使用必应的时候出现问题:Sorry, looks like your network settings are preventing ac
    亲测有效!!!控制面板\网络和Internet\网络连接选择当前用的网络,右键属性,选择ipv4,点击安装1.按图片里的dns地址进行设置2.移除modheader或者其他的修改网络请求头的......
  • MATLAB使用手记(三):高斯脉冲及其高阶导
    高斯脉冲单周期高斯脉冲公式一般如下:\[g(t)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{t^2}{2\sigma^2}}\]matlab代码sigma=1;N=100;x=linspace(-4,4,......
  • ffmpeg前端使用研究
    ffmpeg前端使用研究ffmpeg本质上是一套可执行文件。可以运行在windows、linux环境中。主要包含三部分(windows环境中讨论该问题):​​ffmpeg.exe​​​:主要用于编解码​​......
  • 在linux下makefile的使用示例
    前言Makefile文件中的命令有一定规范,一旦该文件编写好以后在Linux命令行中执行一条make命令即可自动编译整个工程。不同厂家的make可能会稍有不同,并且语法上也有区别,不过......
  • mysql中单引号双引号的区别
    单独使用时,单引号和双引号没有区别;需要嵌套使用时,双引号和单引号可以互相嵌套。使用的结果是把内部的内容当做整体一个字符串变量不需要成对出现SELECT *FROM `exc......
  • Python 中 with 语句的详解
    1.概述在Python中,只要一个对象实现了__enter__和__exit__方法,那么就能使用with语句,该对象也可以称之为上下文管理器。官方文档的相关说明:上下文管理器的语法:......
  • Jenkins工具的使用
    1.建立一个新任务建立一个Iten名称,输入一个任务名称jmeter-demo,选择构建一个maven项目,点击确定     2.进行git的配置(1)在源码管理中选择Git,填入git地址:https://......
  • Node向Mysql数据发送请求响应请求
    //导入mysql依赖(想要先安装依赖,在终端输入:npminstallmysql)varmysql=require('mysql');//配置mysql的数据信息varmy=mysql.createConnection({//mysql连接......