- ベストアンサー
ビューでのデータエラー 「0で除算しました」
ビューを作成しましたが、項目の一つにデータ同士の割算が入った「項目A」があります。 項目Aにおいて、項目Cによっては、「0で除算しました」とのエラーが出てしまうのですが、エラーの場合は項目Aの値を強制的に「0」にする等の設定は、ビューで行えるのでしょうか? ------------------------------------ エイリアス 列の値 項目A 項目B/項目C
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SELECT文のなかでCASE文を使用してください。 例えば、 SELECT CASE WHEN 項目C=0 THEN 0 ELSE 項目B/項目C END AS 項目A ... FROM ... これで、項目Cが0の時は「0」にできます。
その他の回答 (1)
noname#198419
回答No.1
普通に考えれば、0で除算した答えは0には成らないというか在りえない値なのでは。 というか「0で除算してはいけない約束になってます」ので「0で除算した答えは無効な答えである」ことを知る手段が必要です。 ゆえに誤ったをたえを信じて過ちを犯さないために「0で除算しました」というエラーメッセージを出すのが妥当です。 「0で除算しました」に遭遇した場合は、入力した値がおかしいとか、計算モデルや実装した計算式におかしいところはないか。っといったことを検討するとよろしいかと思います。
質問者
お礼
0で割ってはいけないことは、もちろん承知しています。 元の値の制御ができない為、当方法を考えています。 ご解答ありがとうございました。
お礼
完璧です。 解決しました^^) どうもありがとうございました!!!