私はについて読みましたが、それを適切に使用するためのステートメントをnullif
まとめることができませんでした:SELECT
Select (num/total) as percent ...
totalが0の場合、Nullを返します。ステートメントを修正するにはどうすればよいですか?
私が言うなら
select (num/nullif(total, 0)) as percent ...
ヌルで割るとはどういう意味ですか?
私はについて読みましたが、それを適切に使用するためのステートメントをnullif
まとめることができませんでした:SELECT
Select (num/total) as percent ...
totalが0の場合、Nullを返します。ステートメントを修正するにはどうすればよいですか?
私が言うなら
select (num/nullif(total, 0)) as percent ...
ヌルで割るとはどういう意味ですか?
あなたが使用することができますCASE
:
SELECT [percent] = CASE WHEN total = 0 THEN NULL ELSE (num/total) END
FROM Table
質問の2番目の部分に答えるには:
ヌルで割るとはどういう意味ですか?
NULL
値を使用する算術計算の結果は、、NULL
または別の言い方をすれば:
Nullはデータ値ではなく、不明な値のマーカーであるため、Nullで数学演算子を使用すると、Nullで表される不明な値が生成されます。
だからステートメント
select (num/nullif(total, 0)) as percent
NULL
の場合に戻りますtotal = 0
。ティムによって提示されたように、の使用はCASE
、問題を処理するための同様に有効な方法です。