問題

SQLケース式の完全かつ正しい構文は何ですか?

  ベストアンサー

完全な構文は、作業しているデータベースエンジンに依存します。

SQL Serverの場合:

 CASE case-expression
    WHEN when-expression-1 THEN value-1
  [ WHEN when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END
 

または:

 CASE
    WHEN boolean-when-expression-1 THEN value-1
  [ WHEN boolean-when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END
 

式など:

 case-expression    - something that produces a value
when-expression-x  - something that is compared against the case-expression
value-1            - the result of the CASE statement if:
                         the when-expression == case-expression
                      OR the boolean-when-expression == TRUE
boolean-when-exp.. - something that produces a TRUE/FALSE answer
 

リンク: CASE(Transact-SQL)

また、WHEN文の順序が重要であることにも注意してください。重複する複数のWHEN句を簡単に書くことができ、一致する最初のものが使用されます。

注意: ELSE句が指定されておらず、一致するWHEN-conditionが見つからない場合、CASE式の値はNULLになります。

  同じタグがついた質問を見る

sqlsql-serveroraclesyntaxcase