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

‌CASE WHEN THEN ELSE END‌

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.xdnf.cn/news/1212931.html

相关文章:

  • YOLO-01目标检测基础
  • 【Rust多进程】征服CPU的艺术:Rust多进程实战指南
  • 力扣热题100-------74.搜索二维矩阵
  • SpringBoot 整合 自定义MongoDB
  • Flutter封装模板及最佳实践
  • CVAE 回顾版
  • STM32学习记录--Day3
  • gaussdb demo示例
  • 大语言模型(LLM)技术架构与工程实践:从原理到部署
  • 深入剖析 Spark Shuffle 机制:从原理到实战优化
  • 智能矿山综合管控平台
  • 非凸科技受邀出席第九届AIFOF投资创新发展论坛
  • 剧本杀系统 App 开发:科技赋能,重塑剧本杀游戏体验
  • forge篇——配置
  • SpringBoot+Three.js打造3D看房系统
  • 光伏气象监测系统:当阳光遇见科技
  • 让科技之光,温暖银龄岁月——智绅科技“智慧养老进社区”星城国际站温情纪实
  • 《CLIP改进工作串讲》论文精读笔记
  • Shopify Draggable + Vue 3 完整指南:打造现代化拖拽交互体验
  • JVM——内存布局、类加载机制及垃圾回收机制
  • Spring AI 海运管理应用
  • SpringBoot收尾+myBatis plus
  • 2025年6月数据挖掘顶刊TKDE研究热点有哪些?
  • DDD中的核心权衡:模型纯度与逻辑完整性
  • IO复用实现并发服务器
  • 【音视频】WebRTC 开发环境搭建-Web端
  • 服务器与电脑主机的区别,普通电脑可以当作服务器用吗?
  • Python 程序设计讲义(36):字符串的处理方法——去除字符串头尾字符:strip() 方法、lstrip() 方法与rstrip() 方法
  • 原生微信小程序实现语音转文字搜索---同声传译
  • ERP架构