IS [NOT] NULL (язык Entity SQL)
Определяет, имеет ли выражение запроса значение NULL.
expression IS [ NOT ] NULL
Аргументы
- expression
Любое допустимое выражение запроса. Не может быть коллекцией, содержать элементы коллекции или тип записи со свойствами типа коллекции.
- NOT
Выполняет отрицание результата IS [NOT] NULL, имеющего тип Boolean.
Возвращаемое значение
Значение true, если выражение expression возвращает значение NULL, либо значение false — в противном случае.
Замечания
Ключевое слово IS NULL позволяет определить, имеет ли элемент внешнего соединения значение 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
Ключевое слово IS NULL позволяет определить, имеет ли элемент фактическое значение.
select c from LOB.Customer as c where c.DOB is not null
В следующей таблице показан эффект применения оператора IS NULL в различных конструкциях. Все исключения формируются на стороне клиента перед вызовом поставщика.
Конструкция | Поведение |
---|---|
null IS NULL |
Возвращает значение true. |
TREAT (null AS EntityType) IS NULL |
Возвращает значение true. |
TREAT (null AS ComplexType) IS NULL |
Вызывает ошибку. |
TREAT (null AS RowType) IS NULL |
Вызывает ошибку. |
EntityType IS NULL |
Возвращает значение true или false. |
ComplexType IS NULL |
Вызывает ошибку. |
RowType IS NULL |
Вызывает ошибку. |
Примеры
В следующем запросе Entity SQL оператор IS NOT NULL определяет, отличается ли выражение запроса от NULL. Запрос основан на модели AdventureWorks Sales. Для компиляции и запуска этого запроса выполните следующие шаги.
Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типа StructuralType (EntityClient).
Передайте следующий запрос в качестве аргумента методу
ExecuteStructuralTypeQuery
:
SELECT VALUE product FROM AdventureWorksEntities.Product
AS product WHERE product.Color IS NOT NULL
Далее показан вывод.
ProductID: 317
Name: LL Crankarm
ProductNumber: CA-5965
MakeFlag: False
ProductID: 318
Name: ML Crankarm
ProductNumber: CA-6738
MakeFlag: False
ProductID: 319
Name: HL Crankarm
ProductNumber: CA-7457
MakeFlag: False
ProductID: 320
Name: Chainring Bolts
ProductNumber: CB-2903
MakeFlag: False
ProductID: 321
Name: Chainring Nut
ProductNumber: CN-6137
MakeFlag: False
...
См. также
Основные понятия
Операторы сравнения (язык Entity SQL)
Справочник по Entity SQL