Compartilhar via


Expressões lógicas (XQuery)

O XQuery oferece suporte aos operadores lógicos and e or.

expression1 and expression2
expression1 or expression2

As expressões de teste, expression1,expression2, no SQL Server podem resultar em uma sequência vazia, uma sequência de um ou mais nós, ou um único valor Booliano. Com base no resultado, o valor Booliano efetivo da sequência é determinado da maneira seguinte:

  • Se a expressão de teste resultar em uma sequência vazia, o resultado da expressão será False.

  • Se a expressão de teste resultar em um único valor Booliano, esse valor será o resultado da expressão.

  • Se a expressão de teste resultar em uma sequência de um ou mais nós, o resultado da expressão será True.

  • Caso contrário, um erro estático surgirá.

Os operadores lógicos and e or são então aplicados aos valores Booliano resultantes das expressões com as semânticas lógicas padrão.

A consulta a seguir recupera do catálogo de produtos as pequenas imagens de ângulo frontal, o elemento <Picture>, para um modelo de produto específico. Observe que para cada documento de descrição de produto, o catálogo pode armazenar uma ou mais imagens de produto com atributos diferentes, como tamanho e ângulo.

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

Este é o resultado:

<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>

Consulte também

Conceitos

Expressões XQuery