- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オラクルSQLの問題でDECODE関数について)
オラクルSQLの問題でDECODE関数について
このQ&Aのポイント
- 『DEPATMENT_ID列が80の場合でかつCOMMISSION_PCT列がNULL値の場合は「NO COMMISSION」、NULL値でない場合は「SALARY*COMMISSION_PCT」が文字列に変換されて戻されます。また、DEPARTMENT_ID列が80以外の場合は「NOT SALES」が戻されます。』と解説があり、
- 『DECODE関数が最初に戻す「SALARY*COMMISSION_PCT」が数値型なので、「NO COMMISSION」が数値に変換できないためエラーになります。』と解説がありました。
- DECODE関数の公式には、αがβのときはγを戻し、それ以外のときはδを戻すというルールがありますが、γとδは同じ型でなければいけないというルールがあるため、後段のコードではエラーが発生します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
そういうのって、まずマニュアル読めばすぐ解りそうなものですけど? http://www.shift-the-oracle.com/sql/functions/decode.html 「第3パラメータのデータ型を戻り値の型とするので、それ以降に記述する戻り値用のデータもその型に合わせなければならない。」(少々表現変更)
お礼
回答頂く事で冷静に理解することができました。 ありがとうございました。