Поделиться через


Функция avg (XQuery)

Возвращает среднее значение для последовательности чисел.

Синтаксис

fn:avg($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?

Аргументы

  • $arg
    Последовательность атомарных значений, для которых вычисляется среднее значение.

Замечания

Все типы значений, передаваемых функции avg(), должны являться подтипами только одного из трех встроенных базовых числовых типов или типа xdt:untypedAtomic. Они не могут быть смешанными. Значения типа xdt:untypedAtomic приводятся к типу xs:double. Результат функции avg() приводится к базовому типу для переданных типов, например тип xdt:untypedAtomic приводится к типу xs:double.

Если входное значение статически пусто, подразумевается пустое значение и возвращается статическая ошибка.

Функция avg() возвращает вычисленное среднее значение чисел. Например:

sum($arg**) div count($arg)**

Если параметр $arg представляет собой пустую последовательность, возвращается пустая последовательность.

Если значение типа xdt:untypedAtomic не может быть приведено к типу xs:double, то во входной последовательности $arg это значение не учитывается.

Во всех прочих случаях функция возвращает статическую ошибку.

Примеры

В этом разделе приведены примеры запросов XQuery к экземплярам XML, которые хранятся в различных столбцах типа xml в базе данных AdventureWorks.

А.Использование функции XQuery avg() для поиска на производстве расположения цехов, время работы в которых превышает среднее значение для всех цехов.

Можно переписать запрос, приведенный в разделе Функция min (XQuery), чтобы в нем использовалась функция avg().

Ограничения реализации

Существуют следующие ограничения.

  • Функция avg() сопоставляет все целочисленные значения типу xs:decimal.

  • Функция avg() не поддерживает значения типа xs:duration.

  • Не поддерживаются последовательности, в которых смешиваются типы на основе разных базовых типов.

См. также

Справочник

Функции XQuery для типа данных xml