Funciones de agregado: max
Se aplica a:SQL Server
Devuelve de una secuencia de valores atómicos, $arg, el elemento cuyo valor es mayor que el de todos los demás.
Sintaxis
fn:max($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
Argumentos
$arg
Secuencia de valores atómicos a partir de la cual se va a devolver el valor máximo.
Comentarios
Todos los tipos de valores atomizados que se pasan a max() deben ser subtipos del mismo tipo base. Los tipos base que se aceptan son los tipos que admiten la operación gt . Entre estos tipos se incluyen los tres tipos base numéricos integrados, los tipos base de fecha y hora, xs:string, xs:boolean y xdt:untypedAtomic. Los valores del tipo xdt:untypedAtomic se convierten a xs:double. Si hay una combinación de estos tipos, o si se pasan otros valores de otros tipos, se genera un error estático.
El resultado de max() recibe el tipo base de los tipos pasados, como xs:double en el caso de xdt:untypedAtomic. Si la entrada está estáticamente vacía, está vacía y se genera un error estático.
La función max() devuelve el único valor de la secuencia que es mayor que cualquier otro de la secuencia de entrada. En el caso de los valores xs:string, se utiliza la intercalación de puntos de código Unicode predeterminada. Si un valor xdt:untypedAtomic no se puede convertir a xs:double, el valor se omite en la secuencia de entrada, $arg. Si la entrada es una secuencia vacía calculada dinámicamente, se devolverá la secuencia vacía.
Ejemplos
En este tema se proporcionan ejemplos de XQuery en instancias XML que se almacenan en varias columnas de tipo xml de la AdventureWorks2022
base de datos.
A. Utilizar la función max() de XQuery para buscar las ubicaciones de centro de trabajo del proceso de fabricación que tienen más horas de trabajo
La consulta proporcionada en la función min (XQuery) se puede reescribir para usar la función max().
Limitaciones de la implementación
Éstas son las limitaciones:
La función max() asigna todos los enteros a xs:decimal.
No se admite la función max() en valores de tipo xs:duration.
No se admiten las secuencias que mezclan tipos en límites de tipo base.
No se admite la opción sintáctica que proporciona una intercalación.