Freigeben über


max-Funktion (XQuery)

Gibt aus einer Sequenz atomarer Werte $arg zurück, das eine Element, dessen Wert größer als der Wert aller anderen Elemente ist.

Syntax

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

Argumente

  • $arg
    Sequenz der atomaren Werte, aus denen der Maximalwert zurückgegeben wird.

Hinweise

Alle Typen der atomaren Werte, die an max() übergeben werden, müssen Untertypen des gleichen Basistyps sein. Basistypen, die angenommen werden, 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 vorliegt oder andere Werte anderer Typen übergeben werden, wird ein statischer Fehler ausgelöst.

Das Ergebnis von max() erhält den Basistyp der übergebenen Typen, z. B. xs:double im Fall von xdt:untypedAtomic. Wenn die Eingabe statisch leer ist, wird dies angegeben und ein statischer Fehler ausgegeben.

Die max()-Funktion gibt den einen Wert in der Sequenz zurück, der größer als alle anderen Werte 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 $arg ignoriert. Wenn die Eingabe eine dynamisch berechnete leere Sequenz ist, wird die leere Sequenz zurückgegeben.

Beispiele:

Diese Thema stellt XQuery-Beispiele für XML-Instanzen bereit, die in verschiedenen Spalten des xml-Typs in der AdventureWorks-Datenbank gespeichert werden. Einen Überblick über diese Spalten finden Sie unter Darstellung des xml-Datentyps in der AdventureWorks-Datenbank.

A. Verwenden der max()-Funktion von XQuery zum Bestimmen der Arbeitsplatzstandorte im Fertigungsprozess, die die meisten Arbeitsstunden aufweisen

Sie können die in der min-Funkction (XQuery) bereitgestellte Abfrage umschreiben, um die max()-Funktion zu verwenden.

Implementierungseinschränkungen

Die folgenden Einschränkungen sind zu beachten:

  • Die max()-Funktion ordnet alle ganzzahligen Werte xs:decimal zu.

  • Die max()-Funktion wird für Werte des Typs xs:duration 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.