DB2 的 case when then else end 条件分支的处理

2024-06-11 07:58

本文主要是介绍DB2 的 case when then else end 条件分支的处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

两种语法模式:


(1):只有一个分支

 

     CASE
        WHEN 条件  THEN 结果1
        ELSE            结果2
      END
(2):支持多种分支

 

     CASE 表达式1
        WHEN 表达式2   THEN 结果1
        ELSE            结果2
   END
上面的WHEN可以重复多次,

 

===================

 

简单示例:

 

  1. select    
  2.     case when 1 = 1  
  3.     then 1  
  4.     else 2  
  5.     end;  
  1. select    
  2.     case 2  
  3.     when 1 then 1  
  4.     when 2 then 2  
  5.     when 3 then 3  
  6.     else 4  
  7.     end;  

============================

 

 

下面详细的各举几个例子,这些例子可以用于ESQL和交互式的SQL中
eg1:处理被0除

[java]  view plain copy
  1. SELECT   
  2. CASE   
  3. WHEN fileld1=0 THEN 0  
  4. ELSE fileld2/field1  
  5. END  
  6. FROM  FILE  


eg2:字段值对应转换
[java]  view plain copy
  1. SELECT ORDNO,CUSNAM,SHIPDATE,CASE  
  2.                 WHEN SHIPDATE<CURDATE()  THEN 'OVERDUE'  
  3.                 WHEN SHIPDATE=CURDATE()  THEN 'PROCESSING'  
  4.                 WHEN SHIPDATE>;CURDATE()  THEN 'ACTIVE'  
  5.               END  
  6. FROM FILE  


eg3:获取月份的名字:上面的例子
[java]  view plain copy
  1. SELECT ORDNO,CUSNO,  
  2.    CASE  MONTH(SHIPDATE)  
  3.    WHEN  '01'   THEN 'Jan'  
  4.    WHEN  '02'   THEN 'Feb'  
  5.    WHEN  '03'   THEN 'Mar'  
  6.    WHEN  '04'   THEN 'Apr'  
  7.    WHEN  '05'   THEN 'May'  
  8.    WHEN  '06'   THEN 'Jun'  
  9.    WHEN  '07'   THEN 'Jul'  
  10.    WHEN  '08'   THEN 'Aug'  
  11.    WHEN  '09'   THEN 'Sep'  
  12.    WHEN  '10'   THEN 'Oct'  
  13.    WHEN  '11'   THEN  'Nov'  
  14.    WHEN  '12'   THEN  'Dec'  
  15.    END  
  16. FROM FILE  
  

 

===================

 

CASE很好用,不仅SELECT可以用,UPATE里面也蛮灵

以上是关于查询的  下面再来个 update的

 

贴代码直观:

 

 

[c-sharp]  view plain copy
  1. UPDATE properities  
  2. SET   taxrate=  
  3.    CASE   
  4.        WHEN area<10000 THEN 0.05  
  5.        WHEN area<20000 THEN 0.07  
  6.        ELSE 0.09  
  7.    END  

这篇关于DB2 的 case when then else end 条件分支的处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050591

相关文章

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

Redis如何使用zset处理排行榜和计数问题

《Redis如何使用zset处理排行榜和计数问题》Redis的ZSET数据结构非常适合处理排行榜和计数问题,它可以在高并发的点赞业务中高效地管理点赞的排名,并且由于ZSET的排序特性,可以轻松实现根据... 目录Redis使用zset处理排行榜和计数业务逻辑ZSET 数据结构优化高并发的点赞操作ZSET 结

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ