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 或 fn: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。