Compartir a través de


Expresiones lógicas (XQuery)

Se aplica a:SQL Server

XQuery admite los operadores lógicos yo .

expression1 and expression2  
expression1 or expression2  

Las expresiones de prueba, , expression1,``expression2en SQL Server pueden dar lugar a una secuencia vacía, una secuencia de uno o varios nodos o un único valor booleano. En función del resultado, se determinará su valor booleano efectivo de la forma siguiente:

  • Si la expresión de prueba da como resultado una secuencia vacía, el resultado será False.

  • Si la expresión de prueba da como resultado un solo valor booleano, este valor será el resultado de la expresión.

  • Si la expresión de prueba da como resultado una secuencia de uno o varios nodos, el resultado de la expresión será True.

  • De lo contrario, se generará un error estático.

A continuación, el operador lógico y y o se aplica a los valores booleanos resultantes de las expresiones con la semántica lógica estándar.

La consulta siguiente recupera del catálogo de productos las imágenes pequeñas en ángulo frontal, el <Picture> elemento , para un modelo de producto específico. Tenga en cuenta que para cada documento de descripción de productos, se pueden almacenar en el catálogo una o varias imágenes de producto con distintos atributos, como el tamaño y el á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  

El resultado es el siguiente:

<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 también

Expresiones XQuery