如何在查询中为返回值设置别名?

时间:2013-01-25 02:08:19

标签: oracle

我有一个查询,最终将返回一个可能具有值“1”,“2”或“3”的列,其中1表示RED,2表示蓝色,3表示绿色。

如何修改查询,而不是返回1,返回'RED',返回2'BLUE',等等

我希望我的结果如下:

颜色

RED

RED

GREEN

BLUE

而不是:

颜色

1

1

3

2

2 个答案:

答案 0 :(得分:3)

或者,更符合标准:

SELECT CASE WHEN MyField = 1 THEN 'RED'
            WHEN MyField = 2 THEN 'BLUE'
            WHEN MyField = 3 THEN 'GREEN'
            ELSE 'UNDEFINED'
       EMD myfieldColor
FROM myTable;

它也更灵活,因为您可以在WHEN子句中使用更广泛的SQL。例如:

WHEN MyField = 2 AND Lang = 'SPANISH' THEN 'AZUL'

答案 1 :(得分:2)

SELECT Decode(MyField, 1, 'RED'
                       2, 'BLUE'
                       3, 'GREEN'
                          'UNDEFINED' as myfieldColor

FROM myTable