논리 식(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>