Freigeben über


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 truezurück.
TREAT (null AS EntityType) IS NULL Gibt truezurü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:

  1. Verwenden Sie das Verfahren unter How to: Execute a Query that Returns StructuralType Results.

  2. Ü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

Siehe auch