ISNULL (Entity SQL)
Ermittelt, ob ein Abfrageausdruck den Wert NULL hat.
Syntax
expression IS [ NOT ] NULL
Argumente
expression
Ein gültiger Abfrageausdruck. Dieser darf keine Auflistung sein oder über Auflistungsmember oder einen Datensatztyp mit Auflistungstypeigenschaften verfügen.
NICHT Negiert das EDM.Boolean-Ergebnis von IS NULL.
Rückgabewert
true
wenn expression
NULL zurückgibt, andernfalls false
.
Bemerkungen
Verwenden Sie IS NULL
, um zu ermitteln, ob das Element einer äußeren Verknüpfung den Wert NULL hat:
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
Verwenden Sie IS NULL
, um zu ermitteln, ob ein Member über einen tatsächlichen Wert verfügt:
select c from LOB.Customer as c where c.DOB is not null
In der folgenden Tabelle wird das Verhalten von IS NULL
für einige Muster dargestellt. Alle Ausnahmen werden von der Clientseite ausgelöst, bevor der Anbieter aufgerufen wird:
Muster | Verhalten |
---|---|
null IS NULL | Gibt true zurück. |
TREAT (null AS EntityType) IS NULL | Gibt true zurück. |
TREAT (null AS ComplexType) IS NULL | Löst einen Fehler aus. |
TREAT (null AS RowType) IS NULL | Löst einen Fehler aus. |
EntityType IS NULL | Gibt einen true oder false zurück. |
ComplexType IS NULL | Löst einen Fehler aus. |
RowType IS NULL | Löst einen Fehler aus. |
Beispiel
Die folgende Entity SQL-Abfrage verwendet den IS NOT NULL-Operator, um zu ermitteln, ob ein Abfrageausdruck nicht NULL ist. Diese Abfrage beruht auf dem "AdventureWorks Sales"-Modell. Führen Sie folgende Schritte aus, um diese Abfrage zu kompilieren und auszuführen:
Verwenden Sie das Verfahren unter How to: Execute a Query that Returns StructuralType Results.
Übergeben Sie die folgende Abfrage als Argument an die
ExecuteStructuralTypeQuery
-Methode:
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.Color IS NOT NULL