Freigeben über


Logische Ausdrücke (XQuery)

Gilt für:SQL Server

XQuery unterstützt die logischen operatoren undund oder .

expression1 and expression2  
expression1 or expression2  

Die Testausdrücke , expression1,``expression2in SQL Server können zu einer leeren Sequenz, einer Sequenz von einem oder mehreren Knoten oder einem einzelnen booleschen Wert führen. Basierend auf dem Ergebnis wird der effektive boolesche Wert auf folgende Weise bestimmt:

  • Wenn der Testausdruck eine leere Sequenz ergibt, ist das Ergebnis des Ausdrucks False.

  • Wenn der Testausdruck einen einzelnen booleschen Wert ergibt, gilt dieser Wert als Ergebnis des Ausdrucks.

  • Wenn der Testausdruck eine Sequenz aus einem oder mehreren Knoten ergibt, ist das Ergebnis des Ausdrucks True.

  • Anderenfalls wird ein statischer Fehler ausgegeben.

Der logische undund oder -Operator wird dann mit der logischen Standardsemantik auf die resultierenden booleschen Werte der Ausdrücke angewendet.

Die folgende Abfrage ruft aus dem Produktkatalog die vorderen kleinen Bilder, das <Picture> Element, für ein bestimmtes Produktmodell ab. Beachten Sie, dass der Katalog für jedes Produktbeschreibungsdokument eine oder mehrere Produktabbildungen mit verschiedenen Attributen wie z. B. Größe und Ansicht speichern kann.

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  

Dies ist das Ergebnis:

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

Weitere Informationen

XQuery-Ausdrücke