P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | computer | 699 | 25 | 15 |
2 | printer | 365 | 36 | |
3 | telephone | 280 | 159 | 57 |
假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。
上面是微软中的例子,如果要计算UnitsOnOrder中的值,因为有null值,是无法计算的,所以可以用IsNull来做个判断,如果是空的null值,那就返回一个0,如果不是空的,就返回当前值。这样在计算时,就不会出现SQL语句错误。
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0)) FROM Products
在这里UnitPrice单价X(UnitsInStock库存量+UnitsOnOrder订单量),可以得出总价。如果UnitsOnOrder是空的,那么就是0,也就是没有订单,这样计算就不会错误了。