Sdílet prostřednictvím


ISNULL (Entity SQL)

Určuje, jestli má výraz dotazu hodnotu null.

Syntaxe

expression IS [ NOT ] NULL

Argumenty

expression Libovolný platný výraz dotazu. Nejde o kolekci, členy kolekce ani typ záznamu s vlastnostmi typu kolekce.

NEguje EDM. Logický výsledek IS NULL.

Návratová hodnota

true pokud expression vrátí hodnotu null; falsev opačném případě .

Poznámky

Slouží IS NULL k určení, zda je prvek vnějšího spojení 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

Slouží IS NULL k určení, jestli má člen skutečnou hodnotu:

select c from LOB.Customer as c where c.DOB is not null

Následující tabulka ukazuje chování IS NULL některých vzorů. Všechny výjimky jsou vyvolány ze strany klienta před vyvolání zprostředkovatele:

Vzor Chování
Null IS NULL Vrací objekt true.
TREAT (null AS EntityType) JE NULL Vrací objekt true.
TREAT (null AS ComplexType) IS NULL Vyvolá chybu.
TREAT (null AS RowType) JE NULL Vyvolá chybu.
EntityType IS NULL Vrátí true nebo false.
ComplexType IS NULL Vyvolá chybu.
RowType IS NULL Vyvolá chybu.

Příklad

Následující dotaz Entity SQL používá operátor IS NOT NULL k určení, zda výraz dotazu není null. Dotaz je založený na prodejním modelu AdventureWorks. Chcete-li tento dotaz zkompilovat a spustit, postupujte takto:

  1. Postupujte podle pokynů v části Postupy: Provedení dotazu, který vrací výsledky typu StructuralType.

  2. Jako argument metody ExecuteStructuralTypeQuery předejte následující dotaz:

SELECT VALUE product FROM AdventureWorksEntities.Products 
    AS product WHERE product.Color IS NOT NULL

Viz také