max 函数 (XQuery)

从原子值序列 $arg 返回,其值大于所有其他值。

语法

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

参数

  • $arg
    返回原子值序列中的最大值。

注释

传递到 max() 的所有类型的原子值必须是同一基类型的子类型。所接受的基类型为支持 gt 运算的类型。这些类型包括三种内置数值基类型、日期/时间基类型、xs:string、xs:boolean 和 xdt:untypedAtomic。类型为 xdt:untypedAtomic 的值将转换为 xs:double。如果这些类型混合在一起,或者传递了其他类型的其他值,则会引发静态错误。

max() 的结果支持按类型传递的基类型,如在 xdt:untypedAtomic 的情况下为 xs:double。如果输入在静态上为空,则暗示为空,并且会引发静态错误。

max() 函数返回输入序列中的最大值。对于 xs:string 值,则使用默认的 Unicode 码位排序规则。如果无法将 xdt:untypedAtomic 值转换为 xs:double,则在输入序列 $arg 中忽略该值。如果输入是动态计算的空序列,则返回空序列。

示例

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

A. 使用 max() XQuery 函数来查找生产过程中工时最多的生产车间。

可以使用 max() 函数来重写 min 函数 (XQuery) 中提供的查询。

实现限制

限制如下:

  • max() 函数将所有整数映射到 xs:decimal。

  • 不支持对类型 xs:duration 的值执行 max() 函数。

  • 不支持跨基类型边界混合类型的序列。

  • 不支持提供排序规则的语法选项。