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