SQLServerではSELECT文の中でIF文を書くことができます。
SQLServerではSELECT文の中でIF文を書く方法
SQLServerでSELECT文でIF文を書くには IIF()関数を利用します。
IIF()関数の使い方
まずは、簡単なテーブルを準備します。
CREATE TABLE test_table( code VARCHAR(1) )
次にデータを挿入し、その結果を見ます。
INSERT INTO test_table VALUES ('1') ,('2') , ('3') SELECT code FROM test_table
実行結果は
code |
---|
1 |
2 |
3 |
ですね。
実際にIIF()関数を使ってみます。
SELECT IIF( code='1', '1です', 'その他です' ) AS code from test_table
実行結果は以下の通りです。
code 1です その他です その他です
IIF()関数はネストをさせることでIF-ELSEが作成できます。
SELECT IIF( code='1', '1です', IIF( code='2','2です','その他です' )) AS code from test_table
実行結果は
code 1です 2です その他です
になります。
まとめ
SQLServerではSELECT文の中でIF文を書くにはIIF()関数をりようすることで可能になります。
基本的にIIF()関数は「CASE WHEN」で書き換えることも可能です。