Поделиться через


IS [NOT] NULL (язык Entity SQL)

Определяет, имеет ли выражение запроса значение NULL.

expression IS [ NOT ] NULL

Аргументы

  • expression
    Любое допустимое выражение запроса. Не может быть коллекцией, содержать элементы коллекции или тип записи со свойствами типа коллекции.
  • NOT
    Логически инвертирует результат EDM.Boolean для IS NULL.

Возвращаемое значение

Значение 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. Для компиляции и запуска этого запроса выполните следующие шаги.

  1. Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типа StructuralType (EntityClient).

  2. Передайте следующий запрос в качестве аргумента методу ExecuteStructuralTypeQuery:

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

См. также

Основные понятия

Справочник по Entity SQL