質問: sqlplusにて演算子を使う方法と条件文を使いたい・・ 以下のようにspoolコマンドにてselectの結果をcsvに出力したいのですが、カンマ区切りしたいため連結していますがエラーが発生します。 spool aaa.csv select aaa || ',' || bbb || ',' || ccc - ddd || ',' || eee from table_a ・・・ そうすると、引き算が引っかかっているらしく、 「ora-01722:数値が無効です」エラーが発生します。 連結をやめて、「|| ',' ||」→「,」にすれば正常に終了します。 連結の場合に演算子を使うにはどのようにすればよいのでしょうか? また、例えば「aaa<0」の場合には、bbbに100を掛けるとかのような 他カラムでの条件により、別カラムの計算結果を変えるといったことは 可能なのでしょうか? よろしくお願い致します。
回答: oracle内で条件分岐をしたい時には、「case述語」や「decode関数」といった一般関数がありますね。 oracle master bronze sql基礎i 講座(4) sqlの関数を使いこなす ■理解しておきたいこと 3.一般関数 http://jibun.atmarkit.co.jp/lskill01/rensai/bronzesql04/bronzesql01.html