5
我有非空的「量」(十進制)和「狀態」(int)的列的產品表,我創建有關此表的視圖與下列情況下的表達式:SQL視圖推斷非空表中的可空列嗎?
SELECT P.ProductTypeId,
(CASE WHEN P.StatusId IN (5, 8) THEN 0 ELSE -P.Quantity END) AS Quantity,
...
FROM Product P
ProductTypeId是正確推斷爲非空。但是,即使基礎列不可爲空,該視圖的數量列也會被推斷爲可空。這對我來說沒有任何意義。
我可以使用ISNULL/COALESCE在這種情況下提供一個默認值,並強制非空性,但沒有有意義的默認值,這不應該發生在我理解的第一位。任何想法發生了什麼?
而且也沒有辦法來指定,這種溢出情況下是不可能的? – naasking 2011-05-17 17:36:37