我在表格中有一个列,通常填充 10 或 11 个值。我需要做一份报告,需要将这 10 个值转换为“Class1”,将 11 转换为“Class2”文本,在任何其他情况下为 null。
我过去做过,但忘记将其保存为片段。
我在表格中有一个列,通常填充 10 或 11 个值。我需要做一份报告,需要将这 10 个值转换为“Class1”,将 11 转换为“Class2”文本,在任何其他情况下为 null。
我过去做过,但忘记将其保存为片段。
使用case
可能是最干净的解决方案:
select case my_column
when 10 then 'Class1'
when 11 then 'Class2'
else null
end
from my_table;
尽管已经说过,将文本等价物存储在表中通常可能更可靠,因此您可以加入它。
您可以使用REPLACE
, 或DECODE
andNVL
作为空值,或CASE
.