ISNULL (Entity SQL)
クエリ式が NULL かどうかを調べます。
構文
expression IS [ NOT ] NULL
引数
expression
任意の有効なクエリ式。 コレクションにすることはできません。また、コレクション メンバーや、コレクション型のプロパティを持つレコード型を含めることはできません。
NOT IS NULL の EDM.Boolean の結果を否定します。
戻り値
true
によって NULL が返される場合は expression
、それ以外の場合は false
です。
Remarks
外部結合の要素が NULL かどうかを確認するには、IS 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 に基づいています。 このクエリをコンパイルして実行するには、次の手順を実行します。
「方法: StructuralType 結果を返すクエリを実行する」の手順に従います。
次のクエリを引数として
ExecuteStructuralTypeQuery
メソッドに渡します。
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.Color IS NOT NULL