CASE WHEN THEN ELSE END‌ 是SQL中实现条件逻辑的核心表达式,支持单字段匹配和多条件判断,适用于数据处理、分类统计等场景。

基本语法形式

SQL中CASE表达式有两种标准形式:

1‌  简单CASE表达式‌(字段直接匹配)

CASE 字段
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
ELSE 默认结果
END

示例:CASE gender WHEN 'M' THEN '男' ELSE '未知' END‌‌1‌‌2

2‌、搜索CASE表达式‌(支持复杂条件)。

CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
ELSE 默认结果
END

示例:CASE WHEN salary>5000 THEN '高收入' WHEN salary>3000 THEN '中等收入' ELSE '低收入' END‌‌  3‌‌   4 

核心功能特性

  • 短路执行机制‌:仅返回首个满足条件的THEN结果,后续条件不再评估。‌‌5‌‌6
  • ELSE可选性‌:省略ELSE子句时默认返回NULL。‌‌7
  • 结果类型一致性‌:所有THEN结果和ELSE结果必须保持相同数据类型。‌‌8

典型应用场景

1‌  数据分类标注‌。

SELECT product_name,
CASE WHEN price > 100 THEN '高价商品'
WHEN price > 50 THEN '中价商品'
ELSE '平价商品'
END AS price_level
FROM products;
2.动态分组统计‌。

SELECT
CASE WHEN age < 18 THEN '未成年'
WHEN age BETWEEN 18 AND 60 THEN '成年人'
ELSE '老年人'
END AS age_group,
COUNT(*) AS user_count
FROM users
GROUP BY age_group;
3‌  条件聚合计算‌。

SELECT department,
SUM(CASE WHEN status = 'completed' THEN amount ELSE 0 END) AS total_completed,
SUM(CASE WHEN status = 'pending' THEN amount ELSE 0 END) AS total_pending
FROM orders
GROUP BY department;

NULL值处理‌:需显式使用IS NULL判断,如WHEN field IS NULL THEN '空值'‌‌11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93582.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93582.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/93582.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

飞单诱因:管理漏洞与人性交织

飞单看似是 “员工个人行为”&#xff0c;实则是餐厅管理、激励机制、外部环境等多重因素共同作用的结果。要根治飞单&#xff0c;需先理清背后的 “动力源”—— 员工为何选择冒险&#xff1f;一、“收入失衡”&#xff1a;薪资与付出不匹配的 “补偿心理”基层员工&#xff0…

工作笔记-----FreeRTOS中的lwIP网络任务为什么会让出CPU

工作笔记-----FreeRTOS中的lwIP网络任务为什么会让出CPU Author: 明月清了个风Date&#xff1a; 2025.7.30Ps:最近接触了在FreeRTOS中使用lwIP实现的网络任务&#xff0c;但是在看项目代码的过程中出现了一些疑问——网络任务的优先级为所有任务中最高的&#xff0c;并且任务框…

在 CentOS 系统上安装 Docker

在 CentOS 系统上安装 Docker&#xff0c;可按以下步骤操作&#xff1a;一、卸载旧版本&#xff08;如存在&#xff09;bashsudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-…

【CVPR2025】FlowRAM:用区域感知与流匹配加速高精度机器人操作策略学习

文章目录FlowRAM&#xff1a;用区域感知与流匹配加速高精度机器人操作策略学习一、问题出在哪里&#xff1f;方法部分&#xff1a;从结构到机制&#xff0c;详解 FlowRAM 的内部设计逻辑1. 动态半径调度器&#xff1a;自适应注意力机制在 3D 感知中的实现2. 多模态编码器与序列…

图片查重从设计到实现(5)Milvus可视化工具

要通过网页&#xff08;Web&#xff09;访问和管理 Milvus 向量数据库&#xff0c;可以使用官方提供的 Milvus Web UI 工具&#xff0c;这是一款可视化管理界面&#xff0c;支持查看集合、向量数据、执行基本操作等功能。以下是具体的部署和访问方法&#xff1a; 一、部署 Milv…

Linux-awk与sed

文章目录一、AWK1. awk 是什么&#xff1f;2. awk 的基础语法2.1 选项2.2 模式2.3 动作3. awk 的内置变量4. 典型应用场景及示例4.1 打印特定列4.2 条件筛选4.3 使用正则表达式4.4 统计行数4.5 字段操作4.6 使用内置函数4.7 多文件处理4.8 使用自定义变量5. 高级应用&#xff1…

文件加密工具(勒索病毒加密方式)

语言&#xff1a;C# WPF功能&#xff1a;文件加/解密本程序不提供下载&#xff0c;该程序新手操作不当&#xff0c;可能会导致文件加密后无法解密问题&#xff0c;解密需要独立私钥private.key文件支持&#xff0c;没有私钥加密文件是无法被解密的。更新&#xff1a;2025年7月3…

IOC实现原理源码解析

Spring三级缓存流程图singletonObjects&#xff08;一级缓存&#xff09;&#xff1a;缓存经过了完整生命周期的Bean&#xff1b;arlySingletonobjects&#xff08;二级缓存&#xff09;&#xff1a;缓存未经过完整生命周期的Bean&#xff0c;如果某个Bean出现了循环依赖&#…

笔记本电脑磁盘维护指南:WIN11系统磁盘维护完全手册

1. 引言 在当今数字化时代,笔记本电脑已经成为我们工作、学习和娱乐不可或缺的重要工具。随着Windows 11操作系统的普及和应用,用户对于系统性能和稳定性的要求越来越高。然而,许多用户往往忽视了一个至关重要的方面——磁盘维护。磁盘作为计算机系统中负责数据存储和读取的…

李宏毅2025《机器学习》-第九讲:大型语言模型评测的困境与“古德哈特定律”**

摘要&#xff1a; 随着大型语言模型&#xff08;LLM&#xff09;的推理能力日益增强&#xff0c;如何公平、准确地评测其“智力”水平&#xff0c;成了一个极其棘手的问题。本文基于李宏毅教授的最新课程&#xff0c;深入探讨了当前LLM评测面临的困境。文章首先揭示了标准数学和…

Spring Boot集成Chaos Monkey:构建高韧性系统的故障注入实战指南

Spring Boot集成Chaos Monkey&#xff1a;构建高韧性系统的故障注入实战指南一、Chaos Engineering核心原理1.1 混沌工程价值矩阵1.2 Chaos Monkey核心攻击类型二、Spring Boot集成Chaos Monkey2.1 基础集成配置依赖引入配置文件 - application.yml2.2 高级攻击策略配置自定义攻…

AtCoder Beginner Contest 416(ABCDE)

A - Vacation Validation 翻译&#xff1a; 给你一个长度为 N 的字符串 S&#xff0c;它由 o 和 x 以及整数 L 和 R 组成。 请判断 S 中从第 L 个字符到第 R 个字符的所有字符是否都是 o。 思路&#xff1a; &#xff08;模拟&#xff09; 实现&#xff1a; #include<bits…

【AlphaFold3】网络架构篇(2)|Input Embedding 对输入进行特征嵌入

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; Yaoyao2024往期回顾&#xff1a;【AlphaFold3】网络架构篇&#xff08;1&#xff09;|概览预测算法每日一言&#x1f33c;: 去留无意&#xff0c;闲看庭前花开花落&#xff1b…

秋招Day20 - 微服务 - 概念

什么是微服务&#xff1f;将一个大型的单体项目分割成一个个可以独立开发和部署的小服务&#xff0c;服务之间松耦合&#xff0c;可以通过轻量级通信机制&#xff08;比如HTTP&#xff09;相互协作微服务带来了哪些挑战&#xff1f; 介绍一下一下Dubbo&#xff1f;Dubbo是一个高…

PyTorch 生态四件套:从图片、视频到文本、语音的“开箱即用”实践笔记

写在前面 当我们谈论 PyTorch 时&#xff0c;我们首先想到的是 torch.Tensor、nn.Module 和强大的自动求导系统。但 PyTorch 的力量远不止于此。为了让开发者能更高效地处理图像、文本、音频、视频等真实世界的复杂数据&#xff0c;PyTorch 建立了一个强大的官方生态系统。本文…

2023 年 NOI 最后一题题解

问题描述2023 年 NOI 最后一题是一道融合图论与动态规划的综合优化问题&#xff0c;聚焦于带时间窗约束的多路径规划。题目具体要求如下&#xff1a;给定一个有向图&#xff0c;其中节点代表城市&#xff0c;边代表交通路线。每条边具有三个属性&#xff1a;行驶时间、基础费用…

Android补全计划 TextView设置文字不同字体和颜色

1 富文本 1 java中动态加载文本 颜色 String strMsg "今天<font color\"#00ff00\">天气不错</font>"; tv_msg.setText(Html.fromHtml(strMsg));字体和颜色 String str2 "今天<font color\"#00ff00\"><big>天气不…

C语言:详解单链表与例题

C语言&#xff1a;详解单链表与例题 1.单链表的实现 2.例题&#xff1a;移除链表元素 1.单链表的实现 链表根据带头或不带头、单向或双向、循环或不循环分类为8种&#xff0c;最常用的是单链表和双向链表&#xff0c;单链表是 不带头单向不循环 链表。 链表由节点组成&#xff…

从0开始学习R语言--Day62--RE插补

对于会有多次测量值的数据&#xff0c;用普通的回归去插补&#xff0c;往往会忽略掉数据个体本身的特点&#xff0c;毕竟多次的测量值其实就代表了数据个体的不稳定性&#xff0c;存在额外的干扰。而RE的插补原理是结合个体本身的随机效应和群体的固体效应再加上截距进行插补的…

RESTful API开发指南:使用Spring Boot构建企业级接口

目录 1. 引言2. RESTful API基础概念3. Spring Boot环境搭建4. 项目结构设计5. 核心组件开发6. 数据库集成7. 安全认证8. 异常处理9. API文档生成10. 测试策略11. 部署与监控12. 最佳实践 1. 引言 在现代软件开发中&#xff0c;RESTful API已成为构建分布式系统和微服务架构…