Mysql 常用函数(4)- case 函数
Mysql常用函数的汇总,可看下面文章
https://www.cnblogs.com/poloyy/p/12890763.html
case 的作用
- if 的高级版,类似Java 里面的 switch ... case
- 通过条件表达式匹配 case 对应的值,然后执行对应的操作
简单的 case 的语法格式
只有一个条件表达式
CASE <表达式>
WHEN <值1> THEN <操作>
WHEN <值2> THEN <操作>
...
ELSE <操作>
END;
语法格式说明
- 将 <表达式> 的值 逐一和 每个 when 跟的 <值> 进行比较
- 如果跟某个<值>想等,则执行它后面的 <操作> ,如果所有 when 的值都不匹配,则执行 else 的操作
- 如果 when 的值都不匹配,且没写 else,则会报错
先看看emp表有什么数据
简单 case 的栗子:
根据部门id进行判断部门名称
SELECT name,dept_id,
CASE
dept_id
WHEN 0 THEN
"实习生"
WHEN 1 THEN
"销售部"
WHEN 2 THEN
"信息部"
WHEN 2 THEN
"财务部" ELSE "没有部门"
END AS "部门"
FROM
emp;
可搜索 case 的语法格式
CASE
WHEN <条件1> THEN <操作>
WHEN <条件2> THEN <操作>
...
ELSE <操作>
END;
语法格式说明
- 每个 <条件> 都是独立的,可以用 and 来连接多个查询条件
- 不同 <条件> 是互不关联且互不影响的
可搜索 case 的栗子
每个条件都是不一样的,可以任意指定查询条件,可简单可复杂
select name,dept_id,
case
when dept_id=1 and leader != 0 and is_enable !=0 then "销售部在职员工"
when dept_id =2 and leader = 0 then "信息部大佬"
when leader = 8 then "任我行大佬"
else "啥都不是"
end
from emp;
重点
记得结尾要加 end !!!!
记得结尾要加 end !!!!
记得结尾要加 end !!!!
Mysql 常用函数(4)- case 函数的更多相关文章
- MySQL常用的数据类型及函数_20160920
1.常用数据类型 针对创建数据表时候 需要指定字段的数据类型,我整理的是工作常用的几种 可以参考看下数据类型 http://www.w3school.com.cn/sql/sql_datatypes. ...
- MySQL常用语法命令及函数
#创建数据库# create database 数据库名; #查看数据库# show databases; #选择数据库# use 数据库名; #删除数据库# drop database 数据库名; ...
- mysql常用的信息查询函数
mysql常用信息函数 select version(); --当前数据库服务器版本信息 select database(); --当前使用的数据库 select current_user() 或 s ...
- mysql 常用的时间日期函数小结
本文主要是总结一些常用的在实际运用中常用的一些mysql时间日期以及转换的函数 1.now() :返回当前日期和时间 select now(); //2018-04-21 09:19:21 2.cu ...
- mysql 常用的几个函数
IF 函数 语法:`IF`(expr1,expr2,expr3); 当expr1为ture时,值为expr2,当expr1为false时,值为expr3. 如: IFNULL 函数 语法:IFNULL ...
- MYSQL常用的时间日期函数
#时间日期函数 #获取当前日期XXXX-XX-XXSELECT CURRENT_DATE(); SELECT CURDATE();#效果与上一条相同 #获取当前日期与时间XXXX-XX-XX XX:X ...
- MySQL常用操作2
MySQL常用操作2 判断函数 IF(expr, value1, value2) -- 如果表达式expr为true,则返回value1,否则返回value2 IFNULL(value1, val ...
- Mysql常用函数,难点,注意
一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e( ...
- MYSQL常用内置函数详解说明
函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...
随机推荐
- 19.SpringCloud实战项目-SpringCloud整合Alibaba-Nacos配置中心
SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...
- Mark down 使用总结
Markdown语法 Markdown是一种纯文本.轻量级的标记语言,通过简单的标记,就可以使文本具有一定的格式,操作简单.使用广泛,常见的比如github上的README.md . Markdown ...
- vs 类型定义及语句,随机数
1 类型定义: 1)小数: 类型 变量名 赋值 decimal d : d=1.2m float ...
- Windows DC域控由server08r2升级至server2016测试
测试环境 原DC: csctest.com CSCDC01 192.168.100.1 server08r2 CSCDC02 192.168.100.2 server08r2 要求: 原两台旧主机均更 ...
- 《并发编程的艺术》阅读笔记之Sychronized
概述 在JDK1.6中,锁一共四种状态,级别由低到高依次是:无锁状态.偏向锁状态.轻量级锁状态和重量级锁状态.锁可以升级但不能降级,这是为了提高获得锁和释放锁的效率.只有重量级锁涉及到操作系统线程切换 ...
- testlink配置修改
1. Read/write permissions报错 问题: Checking if /var/testlink/logs/ directory exists [S] </B< ...
- NFS共享设置
一.安装所需要的软件环境[root@fengling ~]# yum -y install rpcbind nfs-utils二.创建共享目录mkdir /web三.启动服务[root@fenglin ...
- java 之 abstract、interface
abstract (抽象) 用abstract关键字来修饰一个类时,这个类叫做抽象类: 用abstract来修饰一个方法时,该方法叫做抽象方法. 抽象方法:只有方法的声明,没有方法的实现.以分号结束: ...
- Android MVP 十分钟入门!
前言 在日常开发APP 的过程中,随着业务的扩展,规模的变化.我们的代码规模也会逐渐变得庞大,每一个类里的代码也会逐渐增多.尤其是Activity和Fragment ,由于Context 的存在,基本 ...
- CF1324D Pair of Topics
好像题解里都是树状数组(起码我翻到的是 说一种cdq分治的(这应该算是cdq分治了 用cdq比较简单,所以可以作为一个练手题 cdq分治其实是一种模糊的思想,处理\([l,r]\)区间内,有多少\(( ...