Condividi tramite


Espressioni logiche (XQuery)

XQuery supporta gli operatori logici and e or.

expression1 and expression2
expression1 or expression2

Le espressioni di prova, expression1,expression2, in SQL Server possono restituire una sequenza vuota, una sequenza costituita da 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.

Successivamente, gli operatori logici and e or vengono applicati ai valori booleani risultanti delle espressioni con la semantica logica standard.

La query recupera dal catalogo prodotti la versione piccola delle foto con angolazione frontale, corrispondenti all'elemento <Picture>, relative a 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>

Vedere anche

Concetti