ISNULL (Entity SQL)
Consente di determinare se un'espressione di query è null.
Sintassi
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:
Usare 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
Usare 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 usato 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 How to: Execute a Query that Returns StructuralType Results.
Passare la query seguente come argomento al metodo
ExecuteStructuralTypeQuery
:
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.Color IS NOT NULL