0

我相信这是一个容易的。

我将如何对列进行条件值选择。

Basically if column1 ='Y' then display as "FOO" else if 'n' display "foobar"

select column1 from table1;
4

2 回答 2

5

用一个简单的case表达式

select case column1 when 'Y' then 'FOO' else 'foorbar' end
from table1;

假设一个简单的 if/else。您的问题指定了两个值,您可以同时检查:

select case column1 when 'Y' then 'FOO' when 'n' then 'foorbar' end
from table1;

如果你有任何column1价值Yn你会得到null; else即使您正在测试多个显式值,您仍然可以指定不同的值:

select case column1 when 'Y' then 'FOO' when 'n' then 'foorbar' else 'bar' end
from table1;
于 2013-06-24T18:11:57.133 回答
3

Oracle 中的另一种语法是解码,我喜欢它,因为它简洁明了,但基本上与上面建议的 case 语句相同:

select decode(column1,'Y','FOO','foobar') from table1;

语法如下: decode( 表达式 , 搜索 , 结果 [, 搜索 , 结果]... [, 默认] )。

更多示例在 Oracle 文档中:http ://www.techonthenet.com/oracle/functions/decode.php

于 2013-06-24T18:19:19.883 回答