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:floatxs:doublexs:decimal,则返回类型与 $arg 类型相同。如果 $arg 的类型是从其中一个数值类型派生的,则返回类型是基数值类型。

如果 fn:floorfn:ceilingfn:round 函数的输入为非类型化数据 xdt:untypedAtomic,则输入被隐式转换为 xs:double

任何其他类型都会生成静态错误。

示例

本主题提供了一些对 XML 实例的 XQuery 示例,这些实例存储在 AdventureWorks 数据库内不同的 xml 类型列中。有关这些列的概述,请参阅 AdventureWorks 数据库中的 xml 数据类型表示形式

可以将 ceiling 函数 (XQuery) 中的工作示例用于 round() XQuery 函数。但必须用 round() 函数替换查询中的 ceiling() 函数。

实现限制

限制如下:

  • round() 函数将整数值映射为 xs:decimal。

  • round() 函数将介于 -0.5e0 和 -0e0 之间的 xs:double 和 xs:float 数值映射为 0e0,而不是 -0e0。