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 aus einem der numerischen Typen abgeleiteter Typ 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 generieren einen statischen Fehler.

Beispiele

Dieses Thema stellt XQuery-Beispiele für XML-Instanzen bereit, die in verschiedenen Spalten vom xml-Typ in der AdventureWorks2008R2-Datenbank gespeichert werden. Eine Übersicht über diese Spalten finden Sie unter Darstellung des xml-Datentyps in der AdventureWorks2008R2-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.