Espressioni logiche (XQuery)
Si applica a: SQL Server
XQuery supporta gli operatori logici e e o .
expression1 and expression2
expression1 or expression2
Le espressioni di test, expression1,``expression2
, in SQL Server possono generare una sequenza vuota, una sequenza di uno o più nodi o un singolo valore booleano. In base al risultato, il valore booleano effettivo viene determinato nel modo seguente:
Se l'espressione di prova restituisce una sequenza vuota, il risultato dell'espressione è False.
Se l'espressione di prova restituisce un singolo valore booleano, il risultato dell'espressione è tale valore.
Se l'espressione di prova restituisce una sequenza costituita da uno o più nodi, il risultato dell'espressione è True.
Negli altri casi, viene restituito un errore statico.
L'operatore logico e e o viene quindi applicato ai valori booleani risultanti delle espressioni con la semantica logica standard.
La query seguente recupera dal catalogo prodotti le immagini piccole con angolo anteriore, l'elemento <Picture
> , per un modello di prodotto specifico. Si noti che, per ogni documento di descrizione del prodotto, nel catalogo è possibile archiviare uno o più foto del prodotto con attributi diversi, ad esempio le dimensioni e l'angolazione.
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
Risultato:
<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>