ISNULL (SQL de entidade)
Determina se uma expressão de consulta é nula.
Sintaxe
expression IS [ NOT ] NULL
Argumentos
expression
Qualquer expressão de consulta válida. Não pode ser uma coleção, ter membros da coleção ou um tipo de registro com propriedades de tipo de coleção.
NÃO nega a EDM. Resultado booleano de IS NULL.
Devolver Valor
true
se expression
retorna null; caso contrário, false
.
Observações
Use IS NULL
para determinar se o elemento de uma junção externa é nulo:
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
Use IS NULL
para determinar se um membro tem um valor real:
select c from LOB.Customer as c where c.DOB is not null
A tabela a seguir mostra o comportamento de IS NULL
alguns padrões. Todas as exceções são lançadas do lado do cliente antes que o provedor seja invocado:
Padrão | Comportamento |
---|---|
null É NULO | Devoluções true . |
TREAT (null AS EntityType) É NULL | Devoluções true . |
TREAT (null AS ComplexType) É NULL | Lança um erro. |
TREAT (null AS RowType) É NULL | Lança um erro. |
EntityType IS NULL | Devoluções true ou false . |
ComplexType IS NULL | Lança um erro. |
RowType IS NULL | Lança um erro. |
Exemplo
A consulta Entity SQL a seguir usa o operador IS NOT NULL para determinar se uma expressão de consulta não é nula. A consulta é baseada no Modelo de Vendas AdventureWorks. Para compilar e executar esta consulta, siga estes passos:
Siga o procedimento em Como: Executar uma consulta que retorna resultados StructuralType.
Passe a seguinte consulta como um argumento para o
ExecuteStructuralTypeQuery
método:
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.Color IS NOT NULL