IS [NOT] NULL (Entity SQL)

确定查询表达式是否为 null。

expression IS [ NOT ] NULL

参数

  • expression
    任何有效的查询表达式。 不可以是集合,不可含有集合成员,也不可以是具有集合类型属性的记录类型。
  • NOT
    对 IS NULL 的 EDM.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

返回 truefalse

ComplexType IS NULL

引发错误。

RowType IS NULL

引发错误。

示例

下面的 Entity SQL 查询使用 IS NOT NULL 运算符来确定查询表达式是否不为 null。 此查询基于 AdventureWorks 销售模型。 若要编译并运行此查询,请执行下列步骤:

  1. 执行如何:执行返回 StructuralType 结果的查询 (EntityClient) 中的过程。

  2. 将以下查询作为参数传递给 ExecuteStructuralTypeQuery 方法:

SELECT VALUE product FROM AdventureWorksEntities.Products 
    AS product WHERE product.Color IS NOT NULL

另请参见

概念

Entity SQL 参考