LibreOffice BASEの組み込みFirebirdSQL3.0の関数CASE文について

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

コメント

タイトルとURLをコピーしました