我在表格中有一列通常填充10或11个值。我需要做一个报告,需要将这个10值转换为'Class1',将11转换为'Class2'文本,并在任何其他情况下为null。
我过去曾做过但忘记将其保存为片段。
答案 0 :(得分:1)
使用case
可能是最干净的解决方案:
select case my_column
when 10 then 'Class1'
when 11 then 'Class2'
else null
end
from my_table;
虽然已经说过,将文本等效存储在表中通常可能更加可靠,所以你可以加入它。
答案 1 :(得分:0)
您可以使用REPLACE
,DECODE
和NVL
作为空值,或使用CASE
。