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,``expression2
en 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>