Funzioni per valori numerici - round

Si applica a:SQL Server

Restituisce il numero senza parte frazionaria più vicino all'argomento. Se esiste più di un numero, viene restituito quello più vicino a infinito positivo. Ad esempio:

Se l'argomento è 2,5, round() restituisce 3.

Se l'argomento è 2,4999, round() restituisce 2.

Se l'argomento è -2.5, round() restituisce -2.

Se l'argomento è una sequenza vuota, round() restituisce la sequenza vuota.

Sintassi

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

Argomenti

$arg
Numero al quale viene applicata la funzione.

Osservazioni:

Se il tipo di $arg è uno dei tre tipi di base numerici, xs:float, xs:double o xs:decimal, il tipo restituito è uguale al tipo $arg . Se il tipo di $arg è un tipo derivato da uno dei tipi numerici, il tipo restituito è il tipo numerico di base.

Se l'input per le funzioni fn:floor, fn:ceiling o fn:round è xdt:untypedAtomic, i dati non tipizzato vengono distribuiti in modo implicito a xs:double.

Qualsiasi altro tipo di dati genera un errore statico.

Esempi

In questo argomento vengono forniti esempi di XQuery su istanze XML archiviate in varie colonne di tipo xml nel database AdventureWorks.

È possibile usare l'esempio di lavoro nella funzione ceiling (XQuery) per la funzione XQuery round(). È necessario sostituire la funzione ceiling() nella query con la funzione round().

Limitazioni di implementazione

Limitazioni:

  • La funzione round() esegue il mapping dei valori integer a xs:decimal.

  • La funzione round() dei valori xs:double e xs:float tra -0.5e0 e -0e0 viene mappata a 0e0 anziché a -0e0.

Vedi anche

Funzione floor (XQuery)
Funzione ceiling (XQuery)