SQL CASE文法
1346 ワード
Caseは二種類のフォーマットを持っている。簡単なCase関数とCase検索関数。
--
簡単なCase関数
CASE
sex
WHEN
'
1
'
THEN
'
男の人
'
WHEN
'
2
'
THEN
'
女の人
'
ELESE
'
その他
'
END
--
Case検索関数
CASE
WHEN
sex
を選択します。
'
1
'
THEN
'
男の人
'
WHEN
sex
を選択します。
'
2
'
THEN
'
女の人
'
ELESE
'
その他
'
END
この2つの方法は、同じ機能を実現することができます。簡単なCase関数の書き方は比較的簡潔ですが、Case検索関数と比較して、機能の面では判定式を書くなど制限があります。
もう一つの注意すべき問題があります。Case関数は最初の該当条件の値だけを返します。残りのCase部分は自動的に無視されます。
--
例えば、次のSQLは永遠に「第二類」という結果を得ることができません。
CASE
WHEN
同前1
IN
(
'
a.
'
を選択します。
'
b
'
)
THEN
'
第一クラス
'
WHEN
同前1
IN
(
'
a.
'
)
THEN
'
第二類
'
ELESE
'
その他
'
END
転載先:https://www.cnblogs.com/qiangshu/archive/2009/12/29/1635166.html
--
簡単なCase関数
CASE
sex
WHEN
'
1
'
THEN
'
男の人
'
WHEN
'
2
'
THEN
'
女の人
'
ELESE
'
その他
'
END
--
Case検索関数
CASE
WHEN
sex
を選択します。
'
1
'
THEN
'
男の人
'
WHEN
sex
を選択します。
'
2
'
THEN
'
女の人
'
ELESE
'
その他
'
END
この2つの方法は、同じ機能を実現することができます。簡単なCase関数の書き方は比較的簡潔ですが、Case検索関数と比較して、機能の面では判定式を書くなど制限があります。
もう一つの注意すべき問題があります。Case関数は最初の該当条件の値だけを返します。残りのCase部分は自動的に無視されます。
--
例えば、次のSQLは永遠に「第二類」という結果を得ることができません。
CASE
WHEN
同前1
IN
(
'
a.
'
を選択します。
'
b
'
)
THEN
'
第一クラス
'
WHEN
同前1
IN
(
'
a.
'
)
THEN
'
第二類
'
ELESE
'
その他
'
END
転載先:https://www.cnblogs.com/qiangshu/archive/2009/12/29/1635166.html