Udostępnij za pośrednictwem


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>  
  

Zobacz też

wyrażenia XQuery