Логические выражения (XQuery)

Применимо к:SQL Server

XQuery поддерживает логические и или операторы.

expression1 and expression2  
expression1 or expression2  

Тестовые expression1,``expression2выражения в SQL Server могут привести к пустой последовательности, последовательности одного или нескольких узлов или одного логического значения. Основанное на результате действительное логическое значение определяется следующим способом:

  • если результатом тестовых выражений является пустая последовательность, результатом выражения является значение False;

  • если результатом тестовых выражений является одиночное логическое значение, это значение и будет являться результатом выражения;

  • если результатом тестовых выражений является последовательность одного или нескольких узлов, результатом выражения является значение True;

  • иначе возникает статическая ошибка.

Затем логический и или оператор применяются к результирующей логическое значение выражений со стандартной логической семантикой.

Следующий запрос извлекает из каталога продуктов внешний угол небольших рисунков, <Picture> элемент для конкретной модели продукта. Обратите внимание, что для каждого документа с описанием продукта каталог может хранить одно или несколько изображений продукта с различными атрибутами, такими как размер и угол.

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  

Результат:

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

См. также

Выражения XQuery