sql控制流if()、case when then
tb_user:

1、if (expr1,expr2,expr3) #如果expr1成立,则返回expr2,否则返回expr3
示例:
select name, if (sex=1,'男','女') sex from tb_user #如果sex是1,sex查询结果返回‘男’,否则返回‘女’
2、ifnull(expr1,expr2) #如果expr1不为null,则返回expr1,否则返回expr2
示例:
select name 姓名, ifnull(sex, '其他') sex from tb_user #如果sex是null,则返回‘其他;sex不是null,则正常返回
3、case column_name when expr1 then result1 else result2 end
#如果column_name是1,sex查询结果返回‘男’,否则返回‘女’
示例:
select name 名字, case sex when 1 then '男' else '女' end 性别 from tb_user
#如果sex是1,sex查询结果返回‘男’,否则返回‘女’
4、case column_name when expr1 then result1 when expr2 then result2 end
#如果column_name是expr1返回result1,如果column_name是expr2返回result2,when * then *可以写多个,end 表示结束
示例1:
select name 名字, case sex when 1 then '男' when 2 then '女' end 性别 from tb_user
#如果sex是1,sex查询结果返回‘男’;sex是2,sex查询结果返回‘女’
示例2(多条件):
select name 名字, case sex when 1 then '男' when 2 then '女' end 性别, case when age<=16 then '未成年' when age>16 and age<=30 then '青年' when age>30 and age<=50 then '壮年' else '老年' end 年龄 from tb_user
#年龄小于等于16显示为‘未成年’;年龄大于16且小于等于30显示为‘青年’;
#年龄大于30且小于等于50显示为‘壮年’;年龄大于50显示为‘老年’;
sql控制流if()、case when then的更多相关文章
- 你真的会玩SQL吗?Case也疯狂
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- sql中对于case when...then...else...end的写法和理解
查询配件主数据表(tbl_part_base_info)的所有数据和配件是否有物料(物料表(tbl_material)中有配件主数据表的part_no,就表示有物料,反之,则表示没有物料),用sql中 ...
- 转载:SQL中的case when then else end用法
SQL中的case when then else end用法 来源: http://www.cnblogs.com/prefect/p/5746624.html Case具有两种格式.简单Case函数 ...
- 走向面试之数据库基础:二、SQL进阶之case、子查询、分页、join与视图
一.CASE的两种用法 1.1 等值判断->相当于switch case (1)具体用法模板: CASE expression WHEN value1 THEN returnvalue1 WHE ...
- 如何用ORM支持SQL语句的CASE WHEN?
OQL如何支持CASE WHEN? 今天,一个朋友问我,OQL可否支持CASE WHEN语句?他给的示例SQL如下: then '启用' else '停用' from tb_User OQL是SOD框 ...
- 转-sql中的case when的用法
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- SQL中的CASE的用法
CASE在SQL语句中,很有点类似java等高级编程语言中的switch这样子的多分枝语句,但是有点不同的是,case后面接的是when,另外,when的后续分枝有点类似if后面接else.这个是我的 ...
- SQL中的CASE WHEN用法
其语法如下: 1)case vlaue when [compare-value]then reslut [when[compare-value]] then result ...] [else res ...
- SQL中的case when then else end用法
--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' ...
随机推荐
- 2018牛客网暑期ACM多校训练营(第二场)I- car ( 思维)
2018牛客网暑期ACM多校训练营(第二场)I- car 链接:https://ac.nowcoder.com/acm/contest/140/I来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 ...
- python3 准备
一.前言 1.Python是著名的“龟叔”Guido van Rossum发明的 2.python分为python2和python3两大版本,python2渐渐被淘汰,建议使用python3 3.py ...
- 使用pyinstaller打包使用cx_Oracle模块的程序出现The specified module could not be found的问题
pyinstaller看起来并不会将动态链接库自动打包,所以我们需要告诉pyinstaller要打包哪些动态链接库,步骤如下(假设python文件名为 oracletest.py): 1. 使用pyi ...
- 用.htaccess 禁止IP访问
用.htaccess 禁止某IP访问 Order Allow,Deny Allow from all Deny from 1.1.1.1 2.2.2.2 3.3.3.3 允许所有,禁止xxxx,请将里 ...
- Week08_day01 (Hive开窗函数 row_number()的使用 (求出所有薪水前两名的部门))
数据准备: 7369,SMITH,CLERK,7902,1980-12-17,800,null,20 7499,ALLEN,SALESMAN,7698,1981-02-20,1600,300,30 7 ...
- element 中表单验证的解析。
https://blog.csdn.net/qq_24504591/article/details/88048894 https://segmentfault.com/a/11900000125513 ...
- 阿里云服务器(windows server 2012 r2 64位)安装MYSQL8.0.18数据库 (小白必备)
今儿中午询问了朋友关于服务器的一些事情后,就开始安装了,从中午大概一点,整到晚上九点,终于装成功了,感觉安装过程能遇到的问题全遇到了,给后面的朋友一些参考意见把. 第一次碰云服务器,措辞不当或不正确之 ...
- C# IFormattable 接口重写
public class Racer : IComparable<Racer>, IFormattable { public int Id { get; private set; } pu ...
- C#分隔字符串时遭遇空值
在C#中分隔字符串时,按特定字符进行分隔的时候可能会遇到空值,如何我现在传入的是Id的字符串,如:"1501,1502,1503,,1505",以逗号分隔,由于各种原因,导致传入的 ...
- 【概率论】4-5:均值和中值(The Mean and the Median)
title: [概率论]4-5:均值和中值(The Mean and the Median) categories: - Mathematic - Probability keywords: - Me ...