ISNULL (Entity SQL)
判斷查詢運算式是否為 null。
語法
expression IS [ NOT ] NULL
引數
expression
:任何有效的查詢運算式。 不可為集合、不可有集合成員,也不可為集合型別屬性的記錄型別。
NOT:否定 IS NULL 的 EDM.Boolean 結果。
傳回值
如果 true
傳回 null 則為 expression
;否則為 false
。
備註
使用 IS NULL
判斷外部連結的項目是否為 null:
select c
from LOB.Customers as c left outer join LOB.Orders as o
on c.ID = o.CustomerID
where o is not null and o.OrderQuantity = @x
使用 IS NULL
判斷成員是否有實際值:
select c from LOB.Customer as c where c.DOB is not null
下表所示為 IS NULL
在某些模式上的行為。 所有例外狀況都是在叫用提供者之前從用戶端擲回:
模式 | 行為 |
---|---|
null IS NULL | 傳回 true 。 |
TREAT (null AS EntityType) IS NULL | 傳回 true 。 |
TREAT (null AS ComplexType) IS NULL | 擲回錯誤。 |
TREAT (null AS RowType) IS NULL | 擲回錯誤。 |
EntityType IS NULL | 傳回 true 或 false 。 |
ComplexType IS NULL | 擲回錯誤。 |
RowType IS NULL | 擲回錯誤。 |
範例
下列 Entity SQL 查詢使用 IS NOT NULL 運算子來判斷查詢運算式是否不為 Null。 此查詢是根據 AdventureWorks Sales Model。 若要編譯及執行此查詢,請遵循以下步驟:
遵循 How to: Execute a Query that Returns StructuralType Results中的程序進行。
將下列查詢當成引數,傳遞至
ExecuteStructuralTypeQuery
方法:
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.Color IS NOT NULL