0

我在表格中有一个列,通常填充 10 或 11 个值。我需要做一份报告,需要将这 10 个值转换为“Class1”,将 11 转换为“Class2”文本,在任何其他情况下为 null。

我过去做过,但忘记将其保存为片段。

4

2 回答 2

1

使用case可能是最干净的解决方案:

select case my_column
    when 10 then 'Class1'
    when 11 then 'Class2'
    else null
    end
from my_table;

尽管已经说过,将文本等价物存储在表中通常可能更可靠,因此您可以加入它。

于 2013-01-24T11:52:08.457 回答
0

您可以使用REPLACE, 或DECODE andNVL作为空值,或CASE.

于 2013-01-24T11:32:53.453 回答