CASE .. WHEN表达式在Oracle SQL中
发布时间:2020-12-12 14:24:02 所属栏目:百科 来源:网络整理
导读:我有1列的表,并有以下数据 Statusa1ita2a3 我想在我的选择查询中显示以下结果 Status| STATUSTEXTa1 | Activei | Inactivet | Terminateda2 | Activea3 | Active 我可以想到的一种方法是在选择查询中使用切换时表达式 SELECTstatus,CASE status WHEN 'a1' T
我有1列的表,并有以下数据
Status a1 i t a2 a3 我想在我的选择查询中显示以下结果 Status| STATUSTEXT a1 | Active i | Inactive t | Terminated a2 | Active a3 | Active 我可以想到的一种方法是在选择查询中使用切换时表达式 SELECT status,CASE status WHEN 'a1' THEN 'Active' WHEN 'a2' THEN 'Active' WHEN 'a3' THEN 'Active' WHEN 'i' THEN 'Inactive' WHEN 't' THEN 'Terminated' END AS StatusText FROM stage.tst 有没有其他方法这样做,我不需要写当表达式3次活动状态和整个活动状态可以在一个单一的表达式检查? 您可以使用IN子句就像是 SELECT status,CASE WHEN STATUS IN('a1','a2','a3') THEN 'Active' WHEN STATUS = 'i' THEN 'Inactive' WHEN STATUS = 't' THEN 'Terminated' END AS STATUSTEXT FROM STATUS 看看这个演示 SQL Fiddle DEMO (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |