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 "どっち"

コメント