SQL で「ゼロ除算」エラーを回避するにはどうすればよいでしょうか? 質問する

SQL で「ゼロ除算」エラーを回避するにはどうすればよいでしょうか? 質問する

次のエラーメッセージが表示されます:

メッセージ 8134、レベル 16、状態 1、行 1 ゼロ除算エラーが発生しました。

このエラー メッセージが二度と表示されないように SQL コードを記述する最適な方法は何ですか?

次のいずれかを実行できます。

  • 除数がゼロにならないようにwhere句を追加します

または

  • ゼロに対して特別な処理が行われるように、case ステートメントを追加できます。

句を使用するのが最善の方法でしょうかNULLIF?

もっと良い方法はありますか、またはこれをどのように実施できますか?

ベストアンサー1

「ゼロ除算」エラーを回避するために、次のようにプログラムしました。

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

しかし、もっと良い方法があります:

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

ここで唯一の問題は、「/」キーを使用する場合に NullIf ビットを覚えておくことです。

おすすめ記事