Share via


Logische expressies (XQuery)

van toepassing op:SQL Server-

XQuery ondersteunt de logische operatoren en en of.

expression1 and expression2  
expression1 or expression2  

De testexpressies, expression1,``expression2, in SQL Server kunnen resulteren in een lege reeks, een reeks van een of meer knooppunten of één Booleaanse waarde. Op basis van het resultaat wordt de effectieve Booleaanse waarde op de volgende manier bepaald:

  • Als de testexpressie resulteert in een lege reeks, is het resultaat van de expressie False.

  • Als de testexpressie resulteert in één Booleaanse waarde, is deze waarde het resultaat van de expressie.

  • Als de testexpressie resulteert in een reeks van een of meer knooppunten, is het resultaat van de expressie Waar.

  • Anders wordt er een statische fout gegenereerd.

De logische en en of operator worden vervolgens toegepast op de resulterende Booleaanse waarden van de expressies met de standaard logische semantiek.

Met de volgende query worden de kleine afbeeldingen in de fronthoek, het <Picture>-element, opgehaald uit de productcatalogus voor een specifiek productmodel. Houd er rekening mee dat voor elk document met productbeschrijvingen een of meer productafbeeldingen met verschillende kenmerken, zoals grootte en hoek, kunnen worden opgeslagen.

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  

Dit is het resultaat:

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

Zie ook

XQuery-expressies