Logische Ausdrücke (XQuery)
Gilt für: SQL Server
XQuery unterstützt die logischen und oder Operatoren.
expression1 and expression2
expression1 or expression2
Die Testausdrücke in expression1,``expression2
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.
The logical and and and or operator is then applied to the result boolean values of the expressions with the standard logical semantics.
Die folgende Abfrage ruft aus dem Produktkatalog die kleinen Vorderwinkelbilder, 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>