确定查询表达式是否为 null。
expression IS [ NOT ] NULL
参数
- expression
 任何有效的查询表达式。不可以是集合,不可含有集合成员,也不可以是具有集合类型属性的记录类型。
- NOT
 对 IS [NOT] NULL 的 Boolean 结果取反。
返回值
如果 expression 返回 null,则为 true;否则为 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 销售模型。若要编译并运行此查询,请执行下列步骤:
- 将以下查询作为参数传递给 - 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
...