Firebird3.0には関数CASEがある。条件によって出力を複数選択可能だ。
<CASEの文法> 探索ケース
CASE WHEN <bool_expr> THEN <result> [WHEN <bool_expr> THEN <result> …] [ELSE <defaultresult>] END
<動作例>
CASE WHEN "単価" = 10 THEN '10だよね' WHEN "単価" = 50 THEN '50だよね' ELSE '残り' END "どっち"
<CASEの文法> シンプルなケース
CASE <test-expr> WHEN <expr> THEN <result> [WHEN <expr> THEN <result> ...] [ELSE <defaultresult>] END
この書式も可のはずだが、WHENを2行以上つけると文法エラーが出る。 <動作例>
CASE "単価" WHEN 10 THEN '10だよね' ELSE '残り' END "どっち"
<エラー例>
CASE "単価" WHEN 10 THEN '10だよね' WHEN 50 THEN '50だよね' ELSE '残り' END "どっち"
コメント