Логические выражения (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>