다음을 통해 공유


논리 식(XQuery)

적용 대상:SQL Server

XQuery는 논리 또는 연산자를 지원합니다.

expression1 and expression2  
expression1 or expression2  

SQL Server의 테스트 식 expression1,``expression2은 빈 시퀀스, 하나 이상의 노드 시퀀스 또는 단일 부울 값을 초래할 수 있습니다. 결과에 따라 유효한 부울 값은 다음과 같은 방식으로 결정됩니다.

  • 테스트 식에서 빈 시퀀스가 발생하는 경우 식의 결과는 False입니다.

  • 테스트 식의 결과로 단일 부울 값이 생성되면 이 값이 식의 결과입니다.

  • 테스트 식에서 하나 이상의 노드 시퀀스가 발생하는 경우 식의 결과는 True입니다.

  • 위의 경우 중 하나에 해당하지 않으면 정적 오류가 발생합니다.

그런 다음, 논리 또는 연산자가 표준 논리 의미 체계를 사용하여 식의 결과 부울 값에 적용됩니다.

다음 쿼리는 제품 카탈로그에서 특정 제품 모델에 대한 전면 각도의 작은 그림인 <Picture> 요소를 검색합니다. 각 제품 설명 문서에 대해 카탈로그는 크기 및 각도와 같은 다양한 특성을 가진 하나 이상의 제품 그림을 저장할 수 있습니다.

SELECT CatalogDescription.query('  
     declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";  
     for $F in /PD:ProductDescription/PD:Picture[PD:Size="small"   
                                                 and PD:Angle="front"]  
     return   
         $F   
    ') as Result  
FROM  Production.ProductModel  
where ProductModelID=19  

결과는 다음과 같습니다.

<PD:Picture   
  xmlns:PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">  
  <PD:Angle>front</PD:Angle>  
  <PD:Size>small</PD:Size>  
  <PD:ProductPhotoID>31</PD:ProductPhotoID>  
</PD:Picture>  
  

참고 항목

XQuery 식