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 в базе данных AdventureWorks.
Чтобы получить работающий образец функции XQuery round(), можно использовать пример с функцией ceiling (XQuery). Для этого нужно заменить в запросе функцию ceiling() на round().
Ограничения реализации
Существуют следующие ограничения:
Функция round() сопоставляет целочисленные значения со значениями xs:decimal.
Функция round() при применении к значениям типа xs:double и xs:float в промежутке от -0,5e0 до -0e0 возвращает значение 0e0 вместо -0e0.