SQL中的 CASE WHEN

前言

SQL 中的 CASE WHEN 是标准 SQL 中用于实现条件判断的表达式,本质上相当于编程语言中的 if-else if-else 或 switch-case 结构

CASE WHEN示例

语法说明

sql 复制代码
CASE 字段或表达式 
   WHEN 预期值1 THEN 结果1 
   WHEN 预期值2 THEN 结果2 
   [ELSE 默认结果] 
END

sql示例

sql 复制代码
SELECT u."name", s.device_name, l.key_name, CASE l.lock_key_type WHEN 'FINGER' THEN '指纹' WHEN 'SECRET' THEN '密码' WHEN 'CARD' THEN '卡片' ELSE '未知类型' -- 兜底处理,防止出现未匹配的值返回 NULL END AS lock_key_type_name FROM lock_key_v3 l INNER JOIN lock_key_device_rel r ON l.id = r.lock_key_id INNER JOIN sys_device s ON s.id = r.device_id INNER JOIN sys_user u ON u.id = l.user_id WHERE l.tenant_id = 2031967244505841665 AND l.dr = 0 AND l.authorization_dimension = 'MANAGE_KEY' AND s.org_id = 2045367611104952322;

总结

使用SQL中的 CASE WHEN,可以实现条件判断

相关推荐
猿究院_夏燊3 小时前
Spring Bean 生命周期
java·后端·spring
Lethehong4 小时前
Oracle 加个字段,目标库就报错?KFS 用“先拆后组“打通异构 DDL
数据库·oracle
Web极客码5 小时前
锁定真正的磁盘卡顿:我用 OpenCode 配合 eBPF 诊断 NVMe 队列深度延迟与 I/O 写放大
数据库·oracle
CCblandy5 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
我是人✓5 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
cspttty5 小时前
2027用户研究求职准备:应用统计学如何补齐研究设计与业务表达
大数据·数据库
roman_日积跬步-终至千里6 小时前
【数据Agent论文·查询与语义|05】Spider:为什么换一个数据库,模型就不会查了?
数据库·数据分析
念念清晰6 小时前
000-OpenJDK17 源码构建:MacOS环境(M芯片)
java·后端
猫咪很可爱7 小时前
Oracle RAC 启动失败排查:私网通信与内核参数优化实战
运维·数据库·oracle
XLYcmy7 小时前
《数字经济赋能城市低碳治理的路径研究检索报告》审阅与修改指导意见——基于完整检索报告体例的完整性诊断、学术规范核查与方法论纠偏 上
数据库·ai·chatgpt·文心一言·检索·知网·豆包