max (XQuery)
Из последовательности атомарных значений $arg возвращает один элемент с наибольшим значением.
Синтаксис
fn:max($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
Аргументы
- $arg
Последовательность атомарных значений, из которой требуется вернуть максимальное значение.
Замечания
Все типы атомарных значений, передаваемые функции max(), должны являться подтипами одного и того же базового типа. Допускаются базовые типы, поддерживающие операцию gt. К этим типам относятся три встроенных базовых численных типа, базовые типы даты-времени, а также xs:string, xs:boolean и xdt:untypedAtomic. Значения типа xdt:untypedAtomic приводятся к типу xs:double. Если передана смесь из этих типов или в последовательности обнаружены значения других типов, возникает статическая ошибка.
Результатом выполнения функции max() является базовый тип переданных типов, например xs:double в случае использования xdt:untypedAtomic. Если входная последовательность статически пуста, подразумевается пустое значение и возвращается статическая ошибка.
Функция max() возвращает из последовательности одно значение, наибольшее из всех имеющихся. Для значений xs:string используются параметры сортировки кодовых точек Юникода по умолчанию. Если значение типа xdt:untypedAtomic не может быть приведено к типу xs:double, во входной последовательности $arg оно игнорируется. Если вход является динамически вычисляемой пустой последовательностью, возвращается пустая последовательность.
Примеры
В этом подразделе приведены примеры запросов XQuery к экземплярам XML-документов, которые хранятся в различных столбцах типа xml в базе данных AdventureWorks. Обзор каждого из этих столбцов см. в разделе Представление типов xml-данных в базе данных AdventureWorks.
А. Использование XQuery-функции max() для поиска в производственном процессе цехов с наибольшим количеством рабочих часов
Запрос, представленный в разделе min function (XQuery), может быть изменен для работы с функцией max().
Ограничения реализации
Существуют следующие ограничения:
- Функция max() сопоставляет все целочисленные значения с типом xs:decimal.
- Функция max() не поддерживается для значений типа xs:duration.
- Не поддерживаются последовательности, в которых смешиваются типы на основе разных базовых типов.
- Не поддерживается синтаксический параметр для указания параметров сортировки.
См. также
Справочник
Применение функций XQuery к типу данных XML