nullの使用について質問があります。
このクエリを実行すると
SELECT SUM(x)
FROM (SELECT NULL AS x) AS DerivedTable
エラーメッセージが表示されます
「オペランドデータ型void型はsum演算子には無効です。」
ただし、null許容フィールドを使用してテーブルを作成し、それを合計集計内で使用すると、NULL値は無視され、基本的に残りのすべてのレコードが合計されます。
CREATE TABLE #temp1(x int)
insert into #temp values (NULL),(3),(5)
SELECT SUM(x) FROM #temp1
結果は8です。
これの論理的な説明はありますか?NULLのデータ型が、派生テーブルを使用したクエリで宣言されていないが、一時テーブルを使用して宣言されているためでしょうか。また、2番目の#temp1の例のように、テーブルまたは派生テーブルから実行したときにこのエラーメッセージを生成する方法があるかどうかを本当に知りたいです。テーブルまたはテーブル式から実行したときにこのエラーメッセージが表示される例は、大歓迎です。
皆さん、ありがとうございました