クエリ式が 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
...