IS [NOT] NULL(Entity SQL)
쿼리 식이 null인지 여부를 결정합니다.
expression IS [ NOT ] NULL
인수
- expression
모든 유효한 쿼리 식입니다. 컬렉션이거나, 컬렉션 멤버를 포함하거나, 컬렉션 형식 속성을 가진 레코드 형식일 수 없습니다.
- NOT
IS [NOT] NULL의 Boolean 결과를 무효화합니다.
반환 값
expression이 null을 반환하면 true이고, 그렇지 않으면 false입니다.
설명
외부 조인의 요소가 null인지 여부를 확인하려면 IS 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의 동작을 보여 줍니다. 공급자 호출 이전에 모든 예외가 클라이언트 측에서 throw됩니다.
패턴 | 동작 |
---|---|
null IS NULL |
true를 반환합니다. |
TREAT (null AS EntityType) IS NULL |
true를 반환합니다. |
TREAT (null AS ComplexType) IS NULL |
오류를 throw합니다. |
TREAT (null AS RowType) IS NULL |
오류를 throw합니다. |
EntityType IS NULL |
true 또는 false를 반환합니다. |
ComplexType IS NULL |
오류를 throw합니다. |
RowType IS NULL |
오류를 throw합니다. |
예제
다음 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
...