前言
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,可以实现条件判断