SQL SERVER case when的使用方法

这篇具有很好参考价值的文章主要介绍了SQL SERVER case when的使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、case when的使用方法
Case具有两种格式。简单Case函数和Case搜索函数。
第一种 格式 : 简单Case函数 :
格式说明
    case 列名
    when 条件值1 then 选项1
    when 条件值2 then 选项2…
    else 默认值 end
eg:
    select
    case   job_level
    when ‘1’ then ‘1111’
    when  ‘2’ then ‘1111’
    when  ‘3’ then ‘1111’
    else ‘eee’ end
    from dbo.employee
第二种 格式 :Case搜索函数
格式说明
    case
    when 列名= 条件值1 then 选项1
    when 列名=条件值2 then 选项2…
    else 默认值 end
eg:
    update employee
    set e_wage =
    case
    when job_level = ‘1’ then e_wage1.97
    when job_level = ‘2’ then e_wage
1.07
    when job_level = ‘3’ then e_wage1.06
    else e_wage
1.05
    end

提示:通常我们在写Case When的语句的时候,会容易忘记 end 这个结束,一定要记得哟!
比较: 两种格式,可以实现相同的功能。
  简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的 值,剩下的Case部分将会被自动忽略。
二、case when使用案例
1、已知数据按照另外一种方式进行分组,分析
sqlserver中case when用法,数学建模,matlab,开发语言
根据这个国家人口数据,统计各个大洲的人口数量
sqlserver中case when用法,数学建模,matlab,开发语言

用这个方法来判断工资的等级,并统计每一等级的人数
sqlserver中case when用法,数学建模,matlab,开发语言
输出每一个人的薪资等级
sqlserver中case when用法,数学建模,matlab,开发语言
然后计算每一个等级的数量

方法1:
sqlserver中case when用法,数学建模,matlab,开发语言
方法2:
sqlserver中case when用法,数学建模,matlab,开发语言
2、竖表转横表
如下表所示,统计日本、泰国不同性别的人口,“sex”中1代表男性、2代表女性、3代表无性、4代表双性, 要求以(国家、男性、女性、无性、双性)为字段输出表。
sqlserver中case when用法,数学建模,matlab,开发语言
首先生成确定的字段(国家、男性、女性、无性、双性),
然后以case when来判断性别中人口的取值,并输出表如下图:
sqlserver中case when用法,数学建模,matlab,开发语言
最后使用group by来通过国家分组,并取其中的最大值(有的人会使用sum求和,效果也是一样的)
最终结果如下图:
sqlserver中case when用法,数学建模,matlab,开发语言
3、根据条件有选择的update
P_key是表A_TEST1的主键,结果a和b的顺序搞反了,这是需要把a和b倒换过来,一般情况下,要想把两条数据的Primary key,a和b交换,需要经过临时存储,拷贝,读回数据的三个过程,要是使用Case函数的话,一切都变得简单多了。
sqlserver中case when用法,数学建模,matlab,开发语言
使用下列方式可将主键a、b替换过来
sqlserver中case when用法,数学建模,matlab,开发语言
但这里有一个问题一定要注意,else 后面一定要将原有的值放进来,否则除了a、b意外的值会被置成null,如下图
sqlserver中case when用法,数学建模,matlab,开发语言
转载地址:https://www.cnblogs.com/ichenhao/p/8383866.html文章来源地址https://www.toymoban.com/news/detail-639997.html

到了这里,关于SQL SERVER case when的使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法

    DBMS: Microsoft SQL Server (no ver.) Case sensitivity: plain=mixed, delimited=exact [08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。 ClientConnectionId:46f72084-baa1-4196-a3a5-3b222ff3b621 The s

    2024年02月05日
    浏览(29)
  • SQL中的单条件判断函数IF,和多条件判断CASE WHEN的用法

    在SQL中,条件判断函数IF用于根据指定的条件返回不同的值。 condition:要判断的条件。 value_if_true:如果条件为真,则返回的值。 value_if_false:如果条件为假,则返回的值。 假设有如下名为studensts的表,包含id、name和score字段: 我们想根据学生的分数判断是否及格,并返回相

    2024年02月11日
    浏览(32)
  • SQL之CASE WHEN函数语句多条件下使用详解

    针对CASE WHEN函数语句,实现简单CASE函数和CASE搜索函数两种格式。 同时配合 SUM以及COUNT方法的使用 1、CASE 的两种格式:  简单CASE函数和CASE搜索函数 两种格式示例: 状态: state 订单号: orderId 这两种格式式,可以实现相同的功能。但是简单CASE函数和CASE搜索函数相比,功能

    2024年02月11日
    浏览(48)
  • MySql中case when的用法

    case when介绍: case when语句,用于计算条件列表并返回多个可能结果表达式之一。 CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。 这是代码格式: CASE    

    2024年02月16日
    浏览(21)
  • PostgreSQL中case when与position包含用法

    对于复杂的业务场景,代码与SQL都可以去实现一个场景。如果用代码去实现看起来代码会冗余,不高效,不如sql的效率与简洁。 pgsql与mysql中case when用法几乎一致。在SQL中,“Case When”语句用于选择判断,在执行时先对条件进行判断,然后根据判断结果做出相应的操作;语法

    2024年02月05日
    浏览(17)
  • case when then else end语句的用法

    case具有两种格式。简单case函数和case搜索函数。 --简单case函数             case sex             when \\\'1\\\' then \\\'男\\\'             when \\\'2\\\' then \\\'女\\\'             else \\\'其他\\\' end  --case搜索函数--经常用的是这个             case when sex = \\\'1\\\' then \\\'男\\\'  

    2024年02月10日
    浏览(22)
  • sql示例:case when作为where 条件

    CASE WHEN语句的结果可以作为WHERE条件和其他条件一起使用,可以根据具体的需求来灵活组合。下面分别给出多个CASE WHEN语句在不同位置的SQL示例: CASE WHEN语句在WHERE条件中作为条件之一 上述代码中,CASE WHEN语句在WHERE条件中作为一个条件,其中condition_1和condition_2表示需要满足

    2024年02月16日
    浏览(29)
  • SQL中的CASE WHEN语句:从基础到高级应用指南

    我们使用一个名为\\\"Products\\\"的表,包含以下列:ProductID、ProductName、CategoryID、UnitPrice、StockQuantity。 示例展示 productID productName categoryID unitPrice stockQuantity 1 Laptop 1 800 50 2 Smartphone 1 500 100 3 T-shirt 2 20 200 4 Jeans 2 40 150 5 Headphones 1 100 75 1. CASE WHEN-基本使用 查询结果: ProductName UnitPric

    2024年02月09日
    浏览(28)
  • 【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用

    本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中。 本系列文章列表如下: 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南(一)数据库设计的核心概念和基本步骤 【SQL Server】数据库开发指南(二)MSSQL数据库开发对

    2024年02月06日
    浏览(24)
  • SQL的CASE WHEN函数、CAST函数、CONVERT() 函数、COALESCE()函数、DATEDIFF()函数

    一、CASE WHEN简单使用 二、CASE WHEN语句与聚合函数一起使用 三、CAST函数 用于将某种数据类型的表达式显式转换为另一种数据类型。CAST()函数的参数是一个表达式,它包括用AS分隔的源值和目标数据类型。 可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

    2024年02月07日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包