スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
条件付けられた値を指定します。
CASE式::={探索CASE式|単純CASE式|CASE略式} 探索CASE式::=CASE {WHEN 探索条件 THEN{値式|NULL}}… 〔ELSE{値式|NULL}〕 END 単純CASE式::=CASE 値式 {WHEN 値式 THEN{値式|NULL}}… 〔ELSE {値式|NULL}〕 END CASE略式::={NULLIF(値式,値式)|COALESCE(値式〔,値式〕…)} |
表2-101 CASE式の結果の文字集合
CASE式 | 結果の文字集合 | |
---|---|---|
探索CASE式 | 先頭のTHENに指定した値式の文字集合 | |
単純CASE式 | 先頭のTHENに指定した値式の文字集合 | |
CASE略式 | NULLIF | 最初の値式の文字集合 |
COALESCE | 最初の値式の文字集合 |
表T1のうち,C1列が'AA'のものを'AAA',C1列が'BB'のものを'BBB'に更新します。
UPDATE T1 SET C1 = CASE WHEN C1='AA' THEN 'AAA' WHEN C1='BB' THEN 'BBB' ELSE C1 END
表T1のうち,C1列が'AA'のものを'AAA',C1列が'BB'のものを'BBB'に更新します。
UPDATE T1 SET C1 = CASE C1 WHEN 'AA' THEN 'AAA' WHEN 'BB' THEN 'BBB' ELSE C1 END
表T1の列C1,C2,C3の順で,ナル値でない列を抽出します。すべてがナル値の場合,結果として0が設定されます。
SELECT COALESCE(C1,C2,C3,0)FROM T1
表T1の列C1,C2の値等しい場合,結果としてナル値を返します。列C1,C2の値が等しくない場合,列C1を抽出します。
SELECT NULLIF(C1,C2) FROM T1
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.