2

機能する SQL クエリを作成しましたが、醜いです。私はステートメントを使用しています:

CASE WHEN p.Guests is null THEN 0 ELSE p.Guests

クエリで実行されるいくつかの計算で約10回、次のようなことができるかどうか疑問に思っています:

variable = CASE WHEN p.Guests is null THEN 0 ELSE p.Guests

そして、123 * (CASE WHEN p.Guests is null THEN 0 ELSE p.Guests) 私ができる代わりに123 * variable. p.Guests は、イベントに参加するゲストの数であり、クエリの各行によって異なります。だから私の質問は: SQL でこのような変数を作成する方法はありますか?

4

2 に答える 2

3

ISNULLを使用できます。

select 123 * ISNULL(p.Guests,0) FROM ...

ISNULL関数はnull、2 番目のパラメーターを返す場合を除き、最初のパラメーターを返します。

于 2013-07-01T22:24:33.880 に答える
3

長いケース ステートメントは必要ありません。

ISNULL(p.Guests, 0)

http://msdn.microsoft.com/en-us/library/ms184325.aspx

于 2013-07-01T22:24:24.617 に答える