Aggregatfunktionen – max
Gilt für:SQL Server
Gibt aus einer Sequenz von atomaren Werten $arg das eine Element zurück, dessen Wert größer als der aller anderen ist.
Syntax
fn:max($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
Argumente
$arg
Sequenz der atomaren Werte, aus denen der Maximalwert zurückgegeben wird.
Bemerkungen
Alle Typen der atomisierten Werte, die an max() übergeben werden, müssen Untertypen desselben Basistyps sein. Akzeptierte Basistypen sind die Typen, die den gt-Vorgang unterstützen. Diese Typen sind z. B. die drei integrierten numerischen Basistypen, die date/time-Basistypen, xs:string, xs:boolean und xdt:untypedAtomic. Werte des Typs xdt:untypedAtomic werden in xs:double umgewandelt. Wenn eine Mischung dieser Typen vorhanden ist oder andere Werte anderer Typen übergeben werden, wird ein statischer Fehler ausgelöst.
Das Ergebnis von max() empfängt den Basistyp der übergebenen Typen, z. B. xs:double im Fall von xdt:untypedAtomic. Wenn die Eingabe statisch leer ist, wird leer impliziert, und es wird ein statischer Fehler ausgelöst.
Die funktion max() gibt den einen Wert in der Sequenz zurück, der größer als jeder andere in der Eingabesequenz ist. Für xs:string-Werte wird die Unicode-Codepunkt-Standardsortierung verwendet. Wenn ein xdt:untypedAtomic-Wert nicht in xs:double umgewandelt werden kann, wird der Wert in der Eingabesequenz ignoriert, $arg. Wenn die Eingabe eine dynamisch berechnete leere Sequenz ist, wird die leere Sequenz zurückgegeben.
Beispiele
Dieses Thema enthält XQuery-Beispiele für XML-Instanzen, die in verschiedenen Xml-Typspalten in der AdventureWorks2022
Datenbank gespeichert sind.
A. Ermitteln der Arbeitsplatzstandorte im Herstellungsprozess mit den meisten Arbeitsstunden unter Verwendung der () XQuery-Funktion
Die in der min-Funktion (XQuery) bereitgestellte Abfrage kann für die Verwendung der funktion max() umgeschrieben werden.
Implementierungseinschränkungen
Die folgenden Einschränkungen sind zu beachten:
Die funktion max() ordnet alle ganzen Zahlen xs:decimal zu.
Die max() -Funktion für Werte des Typs xs:duration wird nicht unterstützt.
Sequenzen, die Typen über Basistypbegrenzungen hinweg mischen, werden nicht unterstützt.
Die Option syntactic, die eine Sortierung bereitstellt, wird nicht unterstützt.