Funzioni di aggregazione - max
Si applica a: SQL Server
Restituisce da una sequenza di valori atomici, $arg, l'elemento il cui valore è maggiore di quello di tutte le altre.
Sintassi
fn:max($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
Argomenti
$arg
Sequenza di valori atomici dalla quale deve essere restituito il valore massimo.
Osservazioni:
Tutti i tipi dei valori atomizzati passati a max() devono essere sottotipi dello stesso tipo di base. I tipi di base accettati sono i tipi che supportano l'operazione gt . Tra questi tipi sono inclusi i tre tipi di base numerici predefiniti, ovvero i tipi di base di data/ora xs:string, xs:boolean e xdt:untypedAtomic. Per i valori di tipo xdt:untypedAtomic viene eseguito il cast a xs:double. In presenza di una combinazione di questi tipi o nel caso in cui vengano passati altri valori di altri tipi, viene restituito un errore statico.
Il risultato di max() riceve il tipo di base dei tipi passati, ad esempio xs:double nel caso di xdt:untypedAtomic. Se l'input è una sequenza vuota calcolata in modo statico, la sequenza vuota è implicita e viene restituito un errore statico.
La funzione max() restituisce il valore della sequenza maggiore di qualsiasi altro nella sequenza di input. Per i valori xs:string, vengono utilizzate le regole di confronto predefinite dei punti di codice Unicode. Se non è possibile eseguire il cast di un valore xdt:untypedAtomic a xs:double, il valore viene ignorato nella sequenza di input $arg. Se l'input è una sequenza vuota calcolata in modo dinamico, viene restituita la sequenza vuota.
Esempi
In questo argomento vengono forniti esempi di XQuery su istanze XML archiviate in varie colonne di tipo xml nel AdventureWorks2022
database.
R. Utilizzo della funzione XQuery max() per trovare i centri di lavorazione del processo di produzione che hanno il maggior numero di ore di manodopera
La query fornita nella funzione min (XQuery) può essere riscritta per usare la funzione max().
Limitazioni di implementazione
Limitazioni:
La funzione max() esegue il mapping di tutti i numeri interi a xs:decimal.
La funzione max() sui valori di tipo xs:duration non è supportata.
Non sono supportate le sequenze con combinazioni di tipi che non rispettano i limiti del tipo di base.
Non è supportata l'opzione sintattica che fornisce le regole di confronto.