我有一个查询,最终将返回一个可能具有值“1”,“2”或“3”的列,其中1表示RED,2表示蓝色,3表示绿色。
如何修改查询,而不是返回1,返回'RED',返回2'BLUE',等等
我希望我的结果如下:
颜色
RED
RED
GREEN
BLUE
而不是:
颜色
1
1
3
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