null以外の「quantity」(decimal)列と「status」(int)列を持つProductテーブルがあり、次のケース式を使用してこのテーブルにビューを作成しました。
SELECT P.ProductTypeId,
(CASE WHEN P.StatusId IN (5, 8) THEN 0 ELSE -P.Quantity END) AS Quantity,
...
FROM Product P
ProductTypeIdは、null以外として正しく推測されます。ただし、基になる列がNULL可能ではない場合でも、このビューの数量列はNULL可能であると推測されます。これは私には意味がありません。
この場合、ISNULL / COALESCEを使用してデフォルト値を提供し、null可能性を強制することはできますが、意味のあるデフォルト値はありません。これは、私が理解していることから、そもそも発生しないはずです。何が起こっているのかアイデアはありますか?