2

私はについて読みましたが、それを適切に使用するためのステートメントをnullifまとめることができませんでした:SELECT

Select (num/total) as percent ...

totalが0の場合、Nullを返します。ステートメントを修正するにはどうすればよいですか?

私が言うなら

select (num/nullif(total, 0)) as percent ...

ヌルで割るとはどういう意味ですか?

4

2 に答える 2

4

あなたが使用することができますCASE

SELECT [percent] = CASE WHEN total = 0 THEN NULL ELSE (num/total) END 
FROM Table
于 2012-05-18T01:07:55.420 に答える
0

質問の2番目の部分に答えるには:

ヌルで割るとはどういう意味ですか?

NULL値を使用する算術計算の結果は、、NULLまたは別の言い方をすれば

Nullはデータ値ではなく、不明な値のマーカーであるため、Nullで数学演算子を使用すると、Nullで表される不明な値が生成されます。

だからステートメント

select (num/nullif(total, 0)) as percent

NULLの場合に戻りますtotal = 0。ティムによって提示されたように、の使用はCASE、問題を処理するための同様に有効な方法です。

于 2013-03-27T21:04:34.787 に答える