数据库 casewhen 的用法「建议收藏」

数据库 casewhen 的用法「建议收藏」select[Id],[TrainNumber],[SupplierId],casewarehouseTypewhen0then[Amount]else[Amount]*-1endasIsOut//数据对比,[Amount],[ClassId],[WarehouseType],[Remark],[SetInDate]fromWWeiqinWarehousing

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

select  [Id]
      ,[TrainNumber]
      ,[SupplierId]
      , case warehouseType when 0 then [Amount] else [Amount]*-1  end  as IsOut // 数据对比
      ,[Amount]
      ,[ClassId]
      ,[WarehouseType]
      ,[Remark]
      ,[SetInDate] from WWeiqinWarehousing

创建了一个列数据是 Isout即可,其实就是 当数据正常的时间来进行数据比对

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

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196718.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月21日 下午2:22
下一篇 2025年9月21日 下午3:01


相关推荐

  • 汇编语言的乘法指令(乘法指令和除法指令)

    本文参考了马维华老师的《微机原理与接口技术》一书指令格式:MULREG/MEM;REG寄存器,MEM存储器IMULREG/MEMMUL和IMUL指令分别用于实现无符号数的乘法和有符号数的乘法运算。都只有一个源操作数,可以使寄存器或存储器,而且目标操作数隐含规定在累加器中。1)MUL指令(a)、字节乘法,则AL×R

    2022年4月16日
    118
  • Linux基础命令—resize2fs

    resize2fs    调整ext2\ext3\ext4文件系统的大小,它可以放大或者缩小没有挂载的文件系统的大小。如果文件系统已经挂载,它可以扩大文件系统的大小,前提是内核支持在线调整大小。    size参数指定所请求的文件系统的新大小。如果没有指定任何单元,那么size参数的单位应该是文件系统的文件系统块大小。size参数可以由下列单位编号之一后缀:“s”、“K”、…

    2022年4月5日
    302
  • 即梦MCP!让Claude直接生成图片的MCP服务,国产AI图像API的完美桥梁!

    即梦MCP!让Claude直接生成图片的MCP服务,国产AI图像API的完美桥梁!

    2026年3月12日
    1
  • 基于 mysql时序_时序数据库简介

    基于 mysql时序_时序数据库简介时间序列数据库简称时序数据库(TimeSeriesDatabase),用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。时序数据的几个特点1.基本上都是插入,没有更新的需求。2.数据基本上都有时间属性,随着时间的推移不断产生新的数据。3.数据量大,每秒钟需要写入成千万上亿条数据业务方常见需求1.获取最新状态,查询最近的数据(例如传感器最新…

    2022年10月4日
    4
  • JMeter做压力测试教程及结果分析

    JMeter做压力测试教程及结果分析一、测试工具:JMeter二、JMeter介绍:ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。三、Java环境的安装与配置:(1)因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,oracle官网下载JDkht……

    2022年10月18日
    4
  • 手机软件测试的简单认识方法_什么都不会去做软件测试

    手机软件测试的简单认识方法_什么都不会去做软件测试接触手机软件测试也有三四个月了,讲讲自己目前的想法。仅仅是一点小认识,很多还不够成熟,不够全面,欢迎各位指正交流。废话不多说了,请戳下刚开始当然就是根据已有的测试用例来执行,接触较好后就觉得

    2025年9月19日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号