1. ホーム
  2. sql

[解決済み] 1e8の分割の意味

2022-02-15 13:50:22

質問事項

SQL Server 2012の小さな関数呼び出しについて理解しようとしています。ネットで検索してみましたが、あまり情報が見つかりませんでした。

関数自体は単純です。2つのパラメータ @value と @default があり、どちらも int です。この関数は DivFix は、@valueがNULLまたは0のときは@defaultを返し、それ以外のときは@valueそのものを返します。

この関数は、ゼロ除算エラーを回避するために、様々なSQL文の中で呼び出されます。

Select col1 / DivFix(col2,1e8)

質問ですが、ここでいう1e8とは何を意味するのでしょうか?また、ゼロ除算エラーを克服するためにどのような効果があるのでしょうか?

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

10^8 (10の8乗)、つまり100000000という意味です。 power(10, 8)の略です。

数学的な観点からは、0割の問題を扱うにはあまり良い方法とは言えないと思います。

この非常に大きな数(これは微積分が "0に近い何かを返しますが、正確に"、最終的な丸めで0に等しくならない限り)ではなく、非常に小さな数(NaN/失敗ではなく、無限に近い何かを返します)を使用する方が理にかなっていると思います。