广告
返回顶部
首页 > 资讯 > 数据库 >sql中如何使用case when
  • 231
分享到

sql中如何使用case when

2024-04-02 19:04:59 231人浏览 独家记忆
摘要

这篇文章主要介绍了sql中如何使用case when,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。sql中case when的用法case具

这篇文章主要介绍了sql中如何使用case when,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

sql中case when的用法

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

1、简单case函数

case sex
  when '1' then '男'
  when '2' then '女’
  else '其他' end

2、case搜索函数

case when sex = '1' then '男'
     when sex = '2' then '女'
     else '其他' end</span>

这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式。(免费学习视频教程推荐:Mysql视频教程)

还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。

比如说,下面这段sql,你永远无法得到“第二类”这个结果

case when col_1 in ('a','b') then '第一类'
     when col_1 in ('a') then '第二类'
     else '其他' end

实例演示:

首先创建一张users表,其中包含id,name,sex三个字段,表内容如下:

select * from users
 
 ID        NAME                 SEX
---------- -------------------- ----------
1          张一                 
2          张二                 1
3         张三                 
4          张四                
5          张五                 2
6          张六                 1
7          张七                 2
8          张八                 1

1、上表结果中的"sex"是用代码表示的,希望将代码用中文表示。可在语句中使用case语句:

select u.id,u.name,u.sex,
   (case u.sex
      when 1 then '男'
      when 2 then '女'
      else '空的'
      end
     )性别
  from users u;
                                    ID NAME                        SEX 性别
--------------------------------------- -------------------- ---------- ------
                                      1 张一                            空的
                                      2 张二                          1 男
                                      3 张三                            空的
                                      4 张四                            空的
                                      5 张五                          2 女
                                      6 张六                          1 男
                                      7 张七                          2 女
                                      8 张八                          1 男

2、如果不希望列表中出现"sex"列,语句如下:

select u.id,u.name,
    (case u.sex
      when 1 then '男'
      when 2 then '女'
      else '空的'
      end
    )性别
  from users u;
 
                                     ID NAME                 性别
--------------------------------------- -------------------- ------
                                      1 张一                 空的
                                      2 张二                 男
                                      3 张三                 空的
                                      4 张四                 空的
                                      5 张五                 女
                                      6 张六                 男
                                      7 张七                 女
                                      8 张八                 男

3、将sum与case结合使用,可以实现分段统计。

如果现在希望将上表中各种性别的人数进行统计,sql语句如下:

select
    sum(case u.sex when 1 then 1 else 0 end)男性,
    sum(case u.sex when 2 then 1 else 0 end)女性,
    sum(case when u.sex <>1 and u.sex<>2 then 1 else 0 end)性别为空
  from users u;
 
        男性         女性       性别为空
---------- ---------- ----------
         3          2          0
 
--------------------------------------------------------------------------------
SQL> select
    count(case when u.sex=1 then 1 end)男性,
    count(case when u.sex=2 then 1 end)女,
    count(case when u.sex <>1 and u.sex<>2 then 1 end)性别为空
  from users u;
 
        男性          女       性别为空
---------- ---------- ----------
         3          2          0

感谢你能够认真阅读完这篇文章,希望小编分享的“sql中如何使用case when”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: sql中如何使用case when

本文链接: https://www.lsjlt.com/news/54720.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • sql中如何使用case when
    这篇文章主要介绍了sql中如何使用case when,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。sql中case when的用法case具...
    99+
    2022-10-18
  • SQL中 CASE WHEN 使用
    一、NULL 值判断 1.判断空值,不成功 select case 字段名 when null then '空值' else '非空值' E...
    99+
    2022-10-18
  • SQL中case when怎么用
    这篇文章将为大家详细讲解有关SQL中case when怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQL中case when的用法Case具有两种格式:简单Cas...
    99+
    2022-10-18
  • SQL之CASE WHEN怎么用
    小编给大家分享一下SQL之CASE WHEN怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!简单CASE WHEN函数:CASE SCORE&nbs...
    99+
    2023-06-20
  • sql语句中case when怎么用
    这篇文章给大家分享的是有关sql语句中case when怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sql语句case when用法当我们需要从数据源上 直接判断数据显示...
    99+
    2022-10-18
  • 用case when优化Sql语句
    用case when优化Sql语句 有些时候想直接从数据库查询数据,并导出,但一些类型或状态存储的是01等数字,你想显示对应的文字,这个时候就可以使用case...when语句了。 结构 case......
    99+
    2020-06-19
    用case when优化Sql语句
  • SQL中case when then else end用法实例
    目录一、阐述二、具体使用1.已知数据按照另外一种方式进行分组,分析。2.用一个sql语句完成不同条件的分组。补充:对case when 的理解总结总结一、阐述 case when then else end 可以理解为J...
    99+
    2023-02-01
    case when then else end用法 case when then end用法 case when用法sql
  • SQL中case when then else end用法实例
    目录一、阐述二、具体使用1.已知数据按照另外一种方式进行分组,分析。2.用一个sql语句完成不同条件的分组。补充:对case when 的理解总结总结一、阐述 case when t...
    99+
    2023-02-01
    case when then else end用法 case when then end用法 case when用法sql
  • mysql的case when如何用
    本篇内容介绍了“mysql的case when如何用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • update case when 多字段,多条件, mysql中case when用法
    文章目录 前言sql示例普通写法:update case when写法update case when 多字段写法 case when语法case when 的坑1、不符合case wh...
    99+
    2023-09-13
    case when mysql 多个字段多条件更新
  • SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
    SQL Server判断语句(IF ELSE/CASE WHEN ) 执行顺序是 – 从上至下 – 从左至右 --,所当上一个条件满足时(无论下面条件是否满足),执行上个条件,当第一...
    99+
    2022-11-12
  • mysql的case when语句如何使用
    本篇内容介绍了“mysql的case when语句如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1...
    99+
    2022-10-19
  • oracle中的case when怎么使用
    在Oracle中,CASE WHEN语句用于根据指定的条件执行不同的操作。它的基本语法如下:CASEWHEN condition1 ...
    99+
    2023-08-23
    oracle
  • MySql中case when的用法
    case when介绍: case when语句,用于计算条件列表并返回多个可能结果表达式之一。 CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 CASE 搜索函数计算一组布尔表达式以确定结果...
    99+
    2023-09-01
    mysql sql java
  • oracle中的case when then怎么使用
    本篇内容主要讲解“oracle中的case when then怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle中的case when t...
    99+
    2023-07-05
  • oracle中关于case when then的使用
    目录关于case when then的使用oracle语句中case when起别名总结关于case when then的使用 1.首先创建两个表emp,emp_bonus如下: (1)emp_bonus: > (2)e...
    99+
    2023-03-01
    oracle case when then case when then的使用 关于case when then
  • sql中如何使用case语句
    本篇文章给大家分享的是有关sql中如何使用case语句,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。SQL中Case的使用方法Case具有两种...
    99+
    2022-10-18
  • php case when查询语句如何用
    这篇文章主要讲解了“php case when查询语句如何用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php case when查询语句如何用”吧!php case when查询语句的作...
    99+
    2023-07-04
  • Oracle中case when函数的用法
    一、case when 的基本用法见: PL/SQL 使用控制流程 二、case when在select语句中的用法 SELECT grade, COUNT (CASE W...
    99+
    2022-11-13
  • mysql中case when语句怎么用
    mysql中case when语句的用法:case when语句主要用来计算条件列表和返回一个以上可能的结果表达式 。具体用法示例:首先我们创建数据库表。CREATE TABLE `t_demo` ( ...
    99+
    2022-10-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作