Wyrażenia logiczne (XQuery)
Dotyczy:programu SQL Server
Funkcja XQuery obsługuje operatory logiczne i oraz lub.
expression1 and expression2
expression1 or expression2
Wyrażenia testowe, expression1,``expression2
, w programie SQL Server mogą spowodować pustą sekwencję, sekwencję co najmniej jednego węzła lub pojedynczą wartość logiczną. Na podstawie wyniku ich efektywna wartość logiczna jest określana w następujący sposób:
Jeśli wyrażenie testowe powoduje pustą sekwencję, wynik wyrażenia to False.
Jeśli wyrażenie testowe zwróci pojedynczą wartość logiczną, ta wartość jest wynikiem wyrażenia.
Jeśli wyrażenie testowe powoduje sekwencję co najmniej jednego węzła, wynik wyrażenia to True.
W przeciwnym razie zgłaszany jest błąd statyczny.
Operator logicznych i i lub jest następnie stosowany do wynikowych wartości logicznych wyrażeń ze standardową semantyczną logiczną.
Poniższe zapytanie pobiera z katalogu produktów małe obrazy pod kątem przednim, element <Picture
> dla określonego modelu produktu. Należy pamiętać, że dla każdego dokumentu opisu produktu katalog może przechowywać co najmniej jedno zdjęcie produktu z różnymi atrybutami, takimi jak rozmiar i kąt.
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
Jest to wynik:
<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>