让我说select score from table1
。这将返回结果
score
----
0
20
40
如何使用案例,将输出更改为if 0->强烈不同意20->同意40->非常同意
答案 0 :(得分:4)
我认为那就是你想要的:
select
case
when score >= 40 then 'very agreed'
when score >= 20 then 'agree'
else 'strongly not agree'
end
from table1
答案 1 :(得分:4)
这是固定值的简单翻译:
select score
, case score
when 0 then 'strongly not agree'
when 20 then 'agree'
when 40 then 'very agreed'
else 'don''t know'
end as txt
from your_table
/
如果您正在使用范围,则语法略有不同:
select score
, case
when score between 0 and 19 then 'strongly not agree'
when score between 20 and 39 then 'agree'
when score >= 40 then 'very agreed'
else 'don''t know'
end as txt
from your_table
/
ELSE分支是可选的,但我已将其包含在内以处理NULL或意外值。如果您的数据模型强制执行适当的约束,则可能不需要它。
答案 2 :(得分:2)
我不确定我是否正确理解了这个问题,但也许这就是你想要的:
select decode(score,0,'Strongly not agreed',20,'Agree',40,'Very Agreed') from table1
答案 3 :(得分:1)
case when score < 20 then 'Strongly Not Agreed'
when score between 20 and 40 then 'Agree'
when score > 40 then 'Strongly Agreed' end