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; false
v 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:
Postupujte podle pokynů v části Postupy: Provedení dotazu, který vrací výsledky typu StructuralType.
Jako argument metody
ExecuteStructuralTypeQuery
předejte následující dotaz:
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.Color IS NOT NULL