CASE .. WHEN表达式在Oracle SQL中

前端之家收集整理的这篇文章主要介绍了CASE .. WHEN表达式在Oracle SQL中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有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

猜你在找的Oracle相关文章