当前位置: 首页 > news >正文

达梦数据库CASE WHEN条件

1. CASE WHEN基础语法

CASE WHEN是SQL中常用的条件表达式,类似于编程语言中的if-else,可用于SELECTUPDATE等语句。

基本格式:


CASE WHEN 条件1 THEN1
WHEN 条件2 THEN2...
ELSE 默认值
END

示例1:单条件更新


UPDATE TABLE_NAME
SET SUB_TYPENAME =
CASE WHEN SUB_TYPE = '1'THEN ' 开心型'
WHEN SUB_TYPE = '2'THEN '快乐型'
WHEN SUB_TYPE = '3'THEN '难过型'
WHEN SUB_TYPE = '4'THEN '忧郁型'
WHEN SUB_TYPE = '5'THEN '迷茫型
ELSE SUB_TYPENAME-- 不匹配时保留原值END WHERE SUB_TYPEIN ('1', '2', '3', '4', '5');

示例2:多字段条件更新(结合JOIN)


UPDATE TABLE_NAME a
SETa.PIID = b.INSTANCEID,a.WF_STATUS =CASE b.STATUS WHEN '2'THEN '03'ELSE '01'END,a.NODE_CODE =CASE WHEN b.STATUS = '2'THEN 'end'ELSE a.NODE_CODEEND,a.NODE_NAME =CASE WHEN b.STATUS = '2'THEN '流程结束'ELSE a.NODE_NAMEEND FROM STI_QC_RESULT b
WHERE a.TABLE_UUID = b.SEQKEY;

2. 常见问题

  • **达梦数据库的CASE WHEN是否支持嵌套?**支持,但建议保持简单,复杂逻辑可拆分为多个步骤。
  • **能否在WHERE子句中使用CASE WHEN?**可以,但通常推荐使用AND/OR组合条件。

相关文章:

  • PP-OCRv5 ubuntu20.04 OCR识别服务
  • 博科FC交换机管理IP地址用户名密码
  • MCP和Function Calling
  • SpringCloud优势
  • 力扣面试150题--蛇梯棋
  • Linux初步介绍
  • C#中LINQ技术:自然语言集成与统一数据操作的艺术
  • 【题解-洛谷】B4292 [蓝桥杯青少年组省赛 2022] 路线
  • 3D Web轻量化引擎HOOPS Communicator赋能一线场景,支持本地化与动态展示?
  • C语言中的段错误(Segmentation Fault):底层原理及解决方法
  • 蓝桥杯 回文日期
  • BIO、NIO、AIO的区别
  • GAMES202-高质量实时渲染(Assignment 4)
  • 你应该使用的 php 加解密函数
  • 【开发技术】Abp.vnext下的JWT处理,添加多种认证处理方式
  • ES Serverless 8.17王牌发布:向量检索「火力全开」,智能扩缩「秒级响应」!
  • 完整的加密解密aes
  • C#中清空DataGridView的方法
  • rk3568 , mipi 屏幕调试(3588s 可以显示,但是3568 不能显示)
  • 【堆垛策略】设计方法
  • 电影网站怎么做要多少钱/软文代写费用
  • 美食网站开发步骤/如何快速收录一个网站的信息
  • 公司门户网站模板/优化设计六年级上册语文答案
  • 一个网站的建设步骤是/网络营销效果评估
  • 网站开发市场分析/合肥百度关键词推广
  • 制作人韩剧结局/企业seo顾问服务