これは簡単だと思います。
列で条件値選択を行うにはどうすればよいですか。
Basically if column1 ='Y' then display as "FOO" else if 'n' display "foobar"
select column1 from table1;
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;
Oracle の別の構文は decode です。私はこれが素晴らしく簡潔なので気に入っていますが、基本的には上記の case ステートメントと同じことを行います。
select decode(column1,'Y','FOO','foobar') from table1;
構文は次のとおりです。decode( 式 , 検索 , 結果 [, 検索 , 結果]... [, デフォルト] ).
その他の例は、Oracle のドキュメントにあります: http://www.techonthenet.com/oracle/functions/decode.php