IS [NOT] NULL (Entity SQL)
Consente di determinare se un'espressione di query è null.
expression IS [ NOT ] NULL
Argomenti
- expression
Qualsiasi espressione di query valida. Non può trattarsi di una raccolta, includere membri di una raccolta o essere un tipo di record con proprietà di un tipo di raccolta.
- NOT
Nega il risultato EDM.Boolean di IS NULL.
Valore restituito
true se expression restituisce null; in caso contrario, false.
Osservazioni
Utilizzare IS NULL per determinare se l'elemento di un outer join è 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
Utilizzare IS NULL per determinare se un membro ha un valore effettivo:
select c from LOB.Customer as c where c.DOB is not null
Nella tabella seguente viene illustrato il comportamento di IS NULL con alcuni modelli. Tutte le eccezioni vengono generate sul lato client prima che il provider venga richiamato:
Modello | Comportamento |
---|---|
null IS NULL |
Restituisce true. |
TREAT (null AS EntityType) IS NULL |
Restituisce true. |
TREAT (null AS ComplexType) IS NULL |
Genera un errore. |
TREAT (null AS RowType) IS NULL |
Genera un errore. |
EntityType IS NULL |
Restituisce true o false. |
ComplexType IS NULL |
Genera un errore. |
RowType IS NULL |
Genera un errore. |
Esempio
Nella query Entity SQL seguente viene utilizzato l'operatore IS NOT NULL per determinare se un'espressione di query non è null. La query è basata sul modello Sales di AdventureWorks. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:
Seguire la procedura indicata in Procedura: eseguire una query che restituisce risultati StructuralType (EntityClient).
Passare la query seguente come argomento al metodo
ExecuteStructuralTypeQuery
:
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.Color IS NOT NULL