Freigeben über


round-Funktion (XQuery)

Gibt die Zahl (ohne Stellen hinter dem Dezimalpunkt) zurück, die dem Argument am nächsten kommt. Wenn es mehr als eine solche Zahl gibt, wird diejenige zurückgegeben, die am nächsten an der positiv unendlichen Zahl liegt. Beispiel:

Wenn das Argument 2.5 ist, gibt round() 3 zurück.

Wenn das Argument 2.4999 ist, gibt round() 2 zurück.

Wenn das Argument -2.5 ist, gibt round() -2 zurück.

Wenn das Argument eine leere Sequenz ist, gibt round() die leere Sequenz zurück.

Syntax

fn:round ( $arg as numeric?) as numeric?

Argumente

  • $arg
    Zahl, auf die die Funktion angewendet wird.

Hinweise

Wenn der Typ von $arg einer der drei numerischen Basistypen xs:float, xs:double oder xs:decimal ist, entspricht der Rückgabetyp dem $arg-Typ. Wenn der Typ von $arg ein Typ ist, der aus einem der numerischen Typen abgeleitet ist, ist der Rückgabetyp der numerische Basistyp.

Wenn die Eingabe in die fn:floor-, fn:ceiling- oder fn:round-Funktionen xdt:untypedAtomic ist (nicht typisierte Daten), wird sie implizit zu xs:double umgewandelt.

Alle anderen Typen führen zum Generieren eines statischen Fehlers.

Beispiele

Dieses Thema enthält XQuery-Beispiele für XML-Instanzen, die in verschiedenen Spalten des xml-Typs in der AdventureWorks-Datenbank gespeichert sind. Einen Überblick über diese Spalten finden Sie unter Darstellung des xml-Datentyps in der AdventureWorks-Datenbank.

Sie können das funktionsfähige Beispiel im Thema ceiling-Funktion (XQuery) für die XQuery-Funktion round() verwenden. Dazu müssen Sie lediglich die ceiling()-Funktion in der Abfrage durch die round()-Funktion ersetzen.

Implementierungseinschränkungen

Es gelten folgende Einschränkungen:

  • Die round()-Funktion ordnet ganzzahligen Werten xs:decimal zu.

  • Die round()-Funktion von xs:double- und xs:float-Werten zwischen -0.5e0 und -0e0 werden 0e0 zugeordnet statt -0e0.