КаталогИндекс раздела
НазадСодержаниеВперед

Общие сравнения

Общие сравнения сравнивает две последовательности любой длины и определяют, удовлетворяет ли заданному сравнению хотя бы один пункт первой последовательности и один пункт второй последовательность. Операции общего сравнения включают в себя include =, !=, <, <=, >, и >=.

Следующая таблица описывает эти операторы.

Таблица 1. Операторы общего сравнение в XQuery
Оператор Назначение
= Возвращает true, если некоторые значения в первой последовательности равны некоторым значениям во второй последовательности.
!= Возвращает true, если некоторые значения в первой последовательности неравны некоторым значениям во второй последовательности.
< Возвращает true, если некоторые значения в первой последовательности меньше, чем некоторые значения во второй последовательности.
<= Возвращает true, если некоторые значения в первой последовательности меньше или равны некоторым значениям во второй последовательности.
> Возвращает true, если некоторые значения в первой последовательности больше, чем некоторые значения во второй последовательности.
>= Возвращает true, если некоторые значения в первой последовательности больше или равны некоторым значениям во второй последовательности.

Результатом общего сравнения является либо булевское значение, либо ошибка. Когда общее сравнение вычисляется, каждый операнд атомизируется (преобразуется в последовательность атомарных значений). Первая последовательность сравнивается со второй последовательностью, чтобы определить, удовлетворяет ли заданному сравнению хотя бы один пункт в первой последовательность и хотя бы один пункт во второй последовательности. При сравнении отдельных атомарных значений применяются следующие правила:

После того, как все типы будут преобразованы, как описано выше, атомарные значения сравниваются с использованием одного из операторов сравнения eq, ne, lt, le, gt или ge.

Результат сравнения ? true, если есть пара атомарных значений, одно в первой последовательности-операнде, а второе - во второй последовательности-операнде, для которых сравнение - true.

Примечание: Если происходят ошибки, результат общего сравнение может быть либо булевским значением, либо ошибкой. Например, сравнение (1, 2) = (2, "Hello") может вернуть true, поскольку 2 eq 2 - true, или сравнение может вернуть ошибка, поскольку значение 1 не сравнимо со значением "Hello".

Замечание: Для сравнения двух последовательностей пункт за пунктом используйте функцию XQuery fn:deep-equal.

Примеры


НазадСодержаниеВперед
КаталогИндекс раздела