Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数

CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END

--Case搜索函数

CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END

这两种方式,可以实现相同的功能。

简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
两者中可以根据不同的需求来选择。

CASE WHEN LEN(OHA.Code) > 0 THEN OHA.Code + '-' ELSE '' END + OHA.Name AS [Text]

  • OHA.Code的长度大于0时,Text字段的值为OHA.Code + '-' + OHA.Name
  • OHA.Code的长度=0时,Text字段的值为OHA.Name

col1  col2

1       aaa

2       bbb

3       ccc

select case when col1 = 1 then '北京' when col1 = 2 then '上海' else '广州' end col1, col2 from tabA

如果col1为1,则显示为北京,col1为2,则显示为上海

从stud_grade表中查询所有同学考试成绩情况,凡成绩为空者输出“未考”、小于60分输出“不及格”、60分至70分输出“及格”、70分至90分输出“良好”、大于或等于90分时输出“优秀”。
SELECT stud_id,name,score=CASE WHEN grade IS NULL THEN ’未考’
WHEN grade<60 THEN ’不及格’
WHEN grade>=60 AND grade<70 THEN ’及格’
WHEN grade>=70 AND grade<90 THEN ’良好’
WHEN grade>=90 THEN ’优秀’
END
FROM stud_grade

总结:相对于对表中的值进行字典翻译功能

转载于:https://www.cnblogs.com/chrisghb8812/p/5997991.html

Case when then esle end相关推荐

  1. Oracle经典面试题,你都掌握了吗?

    本文整理了4道Oracle 经典面试题,与大家分享学习.适合渴望转型DBA的技术人员. 第一题 create table test( id number(10) primary key, type n ...

  2. 《快学Scala》第14章——模式匹配和样例类 学习笔记

    Scala有一个十分强大的模式匹配机制,可以应用在很多场合:switch语句.类型查询,以及"析构"(获取复杂表达式中的不同部分).除此之外,Scala还提供了样例类,对模式匹配进 ...

  3. linux——shell 中常用的控制语句 for、while、if、case、expect、exit、break、continue

    一. for 语句 命令语法如下: for NUM in 1 2 3 for NUM in {1..3} for NUM in `seq 1 3`或者for NUM in `seq 1 2 10` f ...

  4. linux+if语句+break,linux——shell 中常用的控制语句 for、while、if、case、expect、exit、break、continue...

    一. for 语句 命令语法如下: for NUM in 1 2 3 for NUM in {1..3} for NUM in `seq 1 3`或者for NUM in `seq 1 2 10` f ...

  5. linux脚本编程if[-z],Linux基础之bash脚本编程进阶篇-选择执行语句(if,case)

    bash脚本的书写规范简介 看本文需要了解的脚本撰写习惯:bash 开头顶格写#!紧接着写解释器路径/bin/bash 由于bash属于脚本语言,脚本语言的运行方式 解释运行:源代码 --> 运 ...

  6. SQL之case when then用法简介

    case表达式是一种查找型表达式的范例,其语法如下: CASE WHEN C1 THEN E1 WHEN C2 THEN E2 - WHEN CN THEN EN [ELSE ED] 在上面的定义中, ...

  7. Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系

    switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...

  8. Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)

    1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then ​ commands fi 或者 if command; t ...

  9. bash中case的用法

    看到一些很实用的脚本,由于之前对于bash脚本的积累都比较离散,没有一个全面的了解,在这里记录一下: bash的case语句用法 case语句的语法规则是: case $变量名 in 模式1)命令序列 ...

最新文章

  1. 非对称加密算法RSA公钥私钥的模数和指数提取方法
  2. [USACO07NOV]Cow Relays
  3. Science首发奥密克戎突刺蛋白分子水平分析,揭秘2大传染性增强原因,柳叶刀:全球大流行有望3月结束...
  4. 机器人 知乎碧桂园_从房地产大亨到跨界造“机器人”,碧桂园葫芦里卖着什么药?...
  5. 中国最大的python社区-在python数据框中的每一行中查找最大值
  6. java 多数据源处理_java – 用于处理多个数据源的Spring事务管理
  7. python的变量如何理解_Python程序中变量作用范围应该如何理解?
  8. OpenShift 4 之Knative(3) - 通过事件触发Serverless服务
  9. Python性能测试方法
  10. 贯穿时域与频域的方法——傅立叶分析
  11. 两堆草前饿死的驴——选择永远是件痛苦的事
  12. 小数保留4位_实验结果保留几位有效数字?
  13. java 做图片模糊处理
  14. 无线视频监控开启无线网络第二春
  15. 浅谈个人对项目管理的理解
  16. 电商或财务系统计算钱精度的问题
  17. 两只PNP晶体三极管和四个电阻组成恒流源电路
  18. 2022.11.28 英语背诵
  19. 仿win10系统UI界面纯html网页网站后台UI界面
  20. 信而泰BigTao6000网络测试仪使用说明

热门文章

  1. 分布式查询的使用准则
  2. 看看10万程序员怎么评论:零基础的前端开发该如何系统地学习?
  3. 【新手教程】如何向App Store提交应用
  4. [转载]OBJECTIVE C (XCODE) 绘图功能简介
  5. 函数作为变量,类型---golang
  6. 掌握4个基本点 不被云计算忽悠
  7. 普通幕僚:Ownership意识不足的几种症状
  8. python提取部分字符串三参数_Python3字符串
  9. QEMU — I/O 设备操作
  10. Python OOP知识积累