Mantıksal İfadeler (XQuery)

Şunlar için geçerlidir: SQL Server

XQuery mantıksal ve/veya operatörleri destekler.

expression1 and expression2  
expression1 or expression2  

SQL Server'daki test ifadeleri, expression1,``expression2, boş bir dizide, bir veya daha fazla düğümden oluşan bir diziye veya tek bir Boolean değerine yol açabilir. Sonuçlara dayanarak, etkin Boolean değerleri aşağıdaki şekilde belirlenir:

  • Test ifadesi boş bir dizi çıkarsa, ifadenin sonucu Yanlıştır.

  • Test ifadesi tek bir Boolean değeri verirse, bu değer ifadenin sonucudur.

  • Test ifadesi bir veya daha fazla düğüm dizisine yol açarsa, ifadenin sonucu Doğrudur.

  • Aksi takdirde, statik bir hata ortaya çıkar.

Mantıksal ve/veya operatörü, standart mantıksal anlamanlamıyla ortaya çıkan ifade değerlerine uygulanır.

Aşağıdaki sorgu, ürün kataloğundan ön açıdan küçük resimleri, <Picture> belirli bir ürün modeli için elemanı alır. Her ürün tanımı belgesi için, katalog boyut ve açı gibi farklı özelliklere sahip bir veya daha fazla ürün fotoğrafı depolayabilir.

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  

Sonuç şu şekildedir:

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