SQL中的常用函数(一)

这里我们列举出来mysql中常用到的函数做一个简单的演示,很多函数经常是在嵌套使用,才可以实现需要的功能
本次主要介绍2个函数

  • case when…then… else …end
  • substr()

用法简介

1. case when

case when的作用是对不同情况的结果进行条件判断,作用类似于Java程序中的case when,可以用来打标签。
case when 有两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。


  --简单的case函数
  case sex
	when '1' then '男'
	when '2' then '女'
	else '其他'
  end as 性别

  --case搜索函数
  case
  ​	when sex ='1' then '男'
  ​	when sex  = '2' then '女'
  ​	else '其他' 
  end as 性别
2. substr()

substr的作用是对于对应字段的内容进行字符串截取

## 简单举例
substr('zhangsan',1,1)   
执行结果 ‘z’  从zhangsan的左边第1位开始,截取长度为1的字符串

substr('zhangsan',2,3)  
执行结果 ‘han’  从zhangsan的左边第2位开始,截取长度为3的字符串

substr('zhangsan',-2,2)  
执行结果 ‘an’  从zhangsan的右边第2位开始,截取长度为2的字符串
 

实战

  • 需求
    现在有下面的表格,每个学生的名字最后一位的数字代表的是学生的班级,没有数字的表示四班,需要我们给每个学生的打上班级的标签,并按照班级排序。
    比如 zhangsan1 代表一班 lisi2 代表二班
    在这里插入图片描述

  • 思路
    这里只是对于我们上面的两个sql函数的简单的结合使用,这种需求非常常见

  • SQL实现

 SELECT sid,sname,ssex,
 case
	when SUBSTR(sname,-1,1) = '1' then '1班'
	when SUBSTR(sname,-1,1) = '2' then '2班'
	when SUBSTR(sname,-1,1) = '3' then '3班'
	else '4班'
 end as 'class'
from student  ORDER BY class;
  • 结果
    在这里插入图片描述

简单的介绍就说到这里,后面我们在介绍其他函数的时候,会结合现有的函数灵活使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值