1. ホーム
  2. sql

[解決済み】SQLの「ゼロによる除算」エラーを回避する方法とは?

2022-04-18 15:57:18

質問

このようなエラーメッセージが表示されるのですが。

Msg 8134, Level 16, State 1, Line 1 Divide by zero エラーが発生しました。

このエラーメッセージを二度と見ないようにするには、どのようなSQLコードを書けばよいのでしょうか?

次のどちらかを行うことができました。

  • where節を追加して、除数が0にならないようにする。

または

  • caseステートメントを追加して、ゼロに対して特別な扱いをするようにすることもできますね。

を使うのがベストなのでしょうか? NULLIF の節は?

もっといい方法はないのか、どうすればいいのか。

どのように解決するのですか?

ゼロによる除算」エラーを避けるため、このようにプログラムしています。

Select Case when divisor=0 then null
Else dividend / divisor
End ,,,

しかし、ここではもっと素敵な方法を紹介します。

Select dividend / NULLIF(divisor, 0) ...

あとは、"/"キーを使う場合、NullIfビットを覚えているかどうかが問題です。