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を想定しています。あなたの質問は 2 つの値を指定しており、両方を確認できます。

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

column1以外の値Yがある場合は、 ;nが得られます。複数の明示的な値をテストしている場合でも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 の別の構文は decode です。私はこれが素晴らしく簡潔なので気に入っていますが、基本的には上記の 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 に答える