クエリ式が NULL かどうかを調べます。
expression IS [ NOT ] NULL
引数
- expression
任意の有効なクエリ式。コレクションにすることはできません。また、コレクション メンバや、コレクション型のプロパティを持つレコード型を含めることはできません。
- NOT
IS [NOT] NULL の Boolean の結果を否定します。
戻り値
expression によって NULL が返される場合は true、それ以外の場合は false です。
解説
外部結合の要素が 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 結果を返すクエリの実行方法 (EntityClient)」の手順に従います。
次のクエリを引数として
ExecuteStructuralTypeQuery
メソッドに渡します。
SELECT VALUE product FROM AdventureWorksEntities.Product
AS product WHERE product.Color IS NOT NULL
出力を次に示します。
ProductID: 317
Name: LL Crankarm
ProductNumber: CA-5965
MakeFlag: False
ProductID: 318
Name: ML Crankarm
ProductNumber: CA-6738
MakeFlag: False
ProductID: 319
Name: HL Crankarm
ProductNumber: CA-7457
MakeFlag: False
ProductID: 320
Name: Chainring Bolts
ProductNumber: CB-2903
MakeFlag: False
ProductID: 321
Name: Chainring Nut
ProductNumber: CN-6137
MakeFlag: False
...