MySQL的条件判断函数(十三)上

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: MySQL的条件判断函数(十三)

一 .MySQL的条件判断函数


在MySQL数据库查询的时候,常常会对查询的结果做一些判断,


常见的有:


  1. 如 sex字段时, 为1表示男,2表示女。


在数据库中存储的是1,2,不是男,女这样的中文, 在展示的时候,不能在性别那一栏展示成1,2而应该是男女。


需要类似于 java中的:


  var str=null;
  //用if 的情况
  if(sex==1)
  { 
    str="男";
  }else{
    str="女";
  }
  //或者用case 
  switch(sex){
    case 1:{
      str="男";
      break;
    }
    case 2:{
      str="女";
      break;
    }
    default:{
    }
  }


  1. 如 scoreLevel 里面存储的 A,B,C,D,E 这样的,要展示成优,良,中,及格,差等。


3 . 也有如排序时, 将退回的记录放置在最前面,把待审核的,通过的依次往后排这样的。


在MySQL 中,也提供了类似的三个函数。


一.一 MySQL条件判断函数:


image.png


下面,分别进行相应的分析。


二. IF() 函数


expr条件, 其中,当expr的返回值是0,或者是null 时,返回false. 其余情况,均返回 true.


二.一 普通展示


  select if(1,'true','false'),if(0,'true','false'),if(null,'true','false');


20191129090357874.png


当条件值为0,或者是null时,才返回v2.


二.二 字符串比较


字符串比较函数是 strcmp(s1,s2), 返回值是 -1,0,1.


  select strcmp('abc','bcd'),if(strcmp('abc','bcd'),'butong','tong') as '1',
       strcmp('dbc','dac'),if(strcmp('dbc','dac'),'butong','tong') as '2',
  strcmp('abc','abc'),if(strcmp('abc','abc'),'butong','tong') as '3';


20191129090404448.png


如果两个字符串相同,比较值为0, 做false, 返回值为 v2.


如果两个字符串不相同,比较值不为0, 返回值为 v1.


二.三 常见例子 性别展示


创建一个 user 表,用 yuejl 数据库。 将yuejl数据库以前的表全部删除。


创建表:


  create table user(
    id int(11) primary key,
    name varchar(11),
    sex int(2)
  );


20191129090409886.png


插入数据: 1为男,2为女。


  insert into user values(1,'两个蝴蝶飞',1),(2,'岳泽霖',1),(3,'精小妹',2);


20191129090413430.png


插入成功。


展示数据:


  select * from user;


20191129090427305.png


发现,sex 展示的是 1,2。 这谁能看得懂啊。


用 If 函数进行展示,使其变成 ‘男’,‘女’ 样式展示。


  select id,name,if(sex=1,'男','女') from user;


20191129090434389.png


可以展示了。 注意,if() 只能判断一次。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
存储 SQL 关系型数据库
MySQL 存储函数及调用
本文主要介绍了MySQL存储函数及调用的方法,介绍了存储函数的示例,如何在MySQL中创建存储函数,以及介绍了MySQL中如何创建触发器,一目了然。在MySQL中,存储函数是预定义的SQL逻辑单元,可接收参数并返回单个值。创建存储函数使用`CREATE FUNCTION`语句,如示例中的`square_number`函数,它接收一个整数并返回其平方。调用存储函数就像调用普通函数一样,例如在`SELECT`语句中。存储函数可用于简化复杂逻辑,提高效率。此外,还可以通过`DROP FUNCTION`删除不再需要的函数。示例展示了不同场景下的存储函数应用,包括数字运算、字符串处理和逻辑判断。
80 2
|
15天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
15天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
7天前
|
关系型数据库 MySQL 开发者
Mysql COUNT() 函数详解
【6月更文挑战第19天】Mysql COUNT() 函数详解,包括 COUNT() 的用法及 COUNT() 带条件查询的操作
|
8天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
7天前
|
关系型数据库 MySQL
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
12 1
|
9天前
|
关系型数据库 MySQL 数据挖掘
|
13天前
|
存储 SQL 关系型数据库
MySQL存储过程和存储函数的使用
MySQL的存储过程和存储函数在功能和用法上有明显的区别。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,通过指定名称和参数(如果有)来调用执行,可以返回多个值或结果集,但不直接返回值。而存储函数则是一个有返回值的特殊存储过程,它返回一个值或表对象,可以直接嵌入SQL语句中使用,如SELECT语句中。两者都是为了提高SQL代码的重用性和性能,但使用场景和方式有所不同。
151 4
|
13天前
|
存储 安全 关系型数据库
MYSQL--存储函数
MYSQL--存储函数
|
15天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(3)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】