max 函数
fn:max 函数返回序列中值的最大值。
语法
- sequence-expression
- 包含下列任一原子类型的项序列或空序列:
- xs:float
- xs:double
- xs:decimal
- xs:integer
- xs:string
- xs:date
- xs:time
- xs:dateTime
- xdt:untypedAtomic
- xdt:dayTimeDuration
- xdt:yearMonthDuration
- 从上面列示的任一类型派生的类型
类型为 xdt:untypedAtomic 的输入项将转换为 xs:double。 此次强制类型转换后,输入序列中的所有项必须可通过提升或子类型替换从而转换为支持 ge 运算符的公共类型。 最大值是使用此公共类型计算的。 例如,如果输入序列包含类型为 money(派生自 xs:decimal)和 stockprice(派生自 xs:float)的项,那么最大值将使用类型 xs:float 进行计算。
在比较日期、时间或日期时间值之前,会将它们调整为使用公共时区。 没有显式时区部分的日期时间值将使用隐式时区,即 UTC。
使用缺省整理来比较字符串值。
返回的值
如果 sequence-expression 并非空序列,那么返回的值是 sequence-expression 中的值的最大值。 返回值的数据类型与 sequence-expression 中各项的数据类型相同,或者是 sequence-expression 中各项提升至的公共数据类型。
如果 sequence-expression 是空序列,那么返回空序列。 如果该序列包含值 NaN,那么会返回 NaN。
示例
以下函数返回序列 (500, 1.0E2, 40.5) 的最大值。
fn:max((500, 1.0E2, 40.5))这些值将提升至 xs:double 数据类型。 该函数将返回 xs:double 值 5.0E2,它将以序列化方式表示为“500”。
