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 |
返回 true 或 false。 |
ComplexType IS NULL |
引发错误。 |
RowType IS NULL |
引发错误。 |
示例
下面的 Entity SQL 查询使用 IS NOT NULL 运算符来确定查询表达式是否不为 null。 此查询基于 AdventureWorks 销售模型。 若要编译并运行此查询,请执行下列步骤:
将以下查询作为参数传递给
ExecuteStructuralTypeQuery
方法:
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.Color IS NOT NULL