round (XQuery)

Возвращает ближайшее к аргументу целое значение. Если таких значений несколько, то возвращается набольшее из них. Например:

Если аргумент равен 2,5, то функция round() возвращает значение 3.

Если аргумент равен 2,4999, то функция round() возвращает значение 2.

Если аргумент равен -2,5, то функция round() возвращает значение -2.

Если аргумент является пустой последовательностью, то round() возвращает пустую последовательность.

Синтаксис

fn:round ( $arg as numeric?) as numeric?

Аргументы

  • $arg
    Число, к которому применяется функция.

Замечания

Если тип $arg является производным от одного из трех базовых числовых типов, xs:float, xs:double или xs:decimal, то возвращаемое значение будет иметь базовый числовой тип $arg. Если тип $arg является одним из производных числовых типов, возвращаемое значение будет принадлежать базовому числовому типу.

Если входные данные функций fn:floor, fn:ceiling или n:round имеют тип xdt:untypedAtomic (то есть являются нетипизированными), то они неявно приводятся к типу xs:double.

Использование любого другого типа вызовет статическую ошибку.

Примеры

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

Чтобы получить работающий образец функции XQuery round(), можно использовать пример с функцией ceiling (XQuery). Для этого нужно заменить в запросе функцию ceiling() на round().

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

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

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

  • Функция round() при применении к значениям типа xs:double и xs:float в промежутке от -0,5e0 до -0e0 возвращает значение 0e0 вместо -0e0.

См. также

Справочник