(转)SQL Case when 的使用方法

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部分将会被自动忽略。 

--比如说,下面这段SQL,你永远无法得到“第二类”这个结果
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'
WHEN col_1 IN ('a')       THEN '第二类'
ELSE'其他' END

原文地址:http://blog.itpub.net/26451903/viewspace-733526

转载于:https://www.cnblogs.com/jronny/articles/6385334.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM系列(三):双亲委派机制笔记

今天给大家分享JVM系列之双亲委派机制相关的知识。 1、Java类加载的过程 Java类的加载过程是动态的,它不会一次性把程序所有的类全部加载后再运行,而是先保障程序运行的基础类加载到JVM虚拟机当中,其他的类,一般是再需要的时候才…

Python用MySQLdb, pymssql 模块通过sshtunnel连接远程数据库

安全起见,数据库的访问多半是要做限制的,所以就有一个直接的问题是,往往多数时候,在别的机器上(比如自己本地),是不能访问数据库的,给日常使用造成了很大不便。所以前几天做了个需求…

运维安全:微软远程桌面修改默认远程端口

远程桌面是网络管理员必备的技能,今天给大家聊聊Windows本身就自带的远程桌面功能,如何修改远程的默认端口(3389),让你的远程服务器更加安全。 下面给大家介绍一下如何修改远程桌面的默认端口,具体步骤如下…

Android Studio如何导出可供Unity使用的aar插件详解

前言 项目之前使用Eclipse导出的jar文件来做与Android交互,最近因为工作需要需使用Android Studio的aar文件,网上参考了部分文章,也结合自己的理解重新整理一下具体的方法,通过写一个测试Demo来表述Android Studio创建aar的过程与…

JVM系列(四):沙箱安全机制笔记

今天主要给大家分享JVM的沙箱安全机制笔记 1、沙箱机制的概念 Java安全模型的核心就是Java沙箱(sandbox)。 沙箱机制就是将Java代码限定只能在虚JVM虚拟机中特定的运行范围,并且严格限制代码对本地系统资源访问,通过这样的方式来保证对Java代码的有效隔…

mysql中engine=innodb和engine=myisam的区别

1/ISAM ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支…

JVM系列(五):native关键字用法介绍

今天继续给大家分享JVM中native关键字用法介绍 1、native概念 native关键字修饰的Java方法是一个原生态方法,方法对应的实现Java作用范围达不到,而是在用其他编程语言(如C和C)文件中实现。Java语言本身不能直接对操作系统底层进行…

ASP.NET Core 介绍和项目解读

1. 前言2. ASP.NET Core 简介 2.1 什么是ASP.NET Core2.2 ASP.NET Core的特点2.3 ASP.NET Core 项目文件夹解读 2.3.1 项目文件夹总览2.3.2 project.json和global.json2.3.1 Properties——launchSettings.json2.3.4 Startup.cs (1) 构造函数&#xff08…

JVM系列(六):JVM内存区域中程序计数器介绍

今天继续给大家分享JVM的相关知识,今天介绍一下JVM内存区域的程序计数器。 1、程序计数器概念 JVM中的程序计数寄存器(Program Counter Register)中Register的命名来源于CPU的寄存器,寄存器用来存储指令相关的现场信息。 CPU只…

我的博客第一天

作为初学者第一天进入博客的世界 开启web前端的征程 转载于:https://www.cnblogs.com/iotstu/p/6395706.html

JVM系列(七):虚拟机栈的相关知识介绍

今天继续给大家分享JVM系列的相关知识,今天介绍一下虚拟机栈的介绍。 1、虚拟机栈的概念 虚拟机栈也称为Java栈,Java每个main方法被执行的时候,JVM都会同步创建一个栈帧(Stack Frame),通过存储局部变量表…

Fragment管理工具类

Fragment相关→FragmentUtils.java→Demo addFragment : 新增fragment removeFragment : 移除fragment replaceFragment : 替换fragment popFragment : 出栈fragment popToFragment : 出栈到指定fragment popAddFragm…

JVM系列(八):堆(Heap)的相关知识介绍

目录 1、JVM堆的概念 2、JVM堆的特点 3、JVM堆的内部结构 3.1 组成 3.2 堆内存内部空间所占比例 3.3 永久代和元空间区别 4、堆空间的大小设置 5、堆空间垃圾回收 1、JVM堆的概念 JVM中的堆是用来存放对象的内存空间,几乎所有的Java对象、数组都存储在JVM的…

电脑技巧:Hyper-V安装UOS操作系统图文教程

今天给大家分享微软官方Hyper-v虚拟机管理软件安装UOS操作系统图文教程,感兴趣的朋友也可以下载试一试,当然有啥问题也可以互相沟通交流! 1、首先任务管理切换到性能选项卡,查看虚拟化是否已经启用,如果没有启用的话&…

ANDROID内存优化(大汇总——中)

写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。 所以我将本文定义为一个工具类的文章,如果你在Android开发中遇到关于内存问题,或者…