Condividi tramite


Funzione round (XQuery)

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 $arg è di uno dei tre tipi di dati numerici di base, xs:float, xs:double o xs:decimal, il tipo di dati restituito è uguale al tipo di $arg. Se $arg è di un tipo derivato da uno dei tipi di dati numerici, il tipo restituito è il tipo di dati numerico di base.

Se l'input per le funzioni fn:floor, fn:ceiling o fn:round è rappresentato da dati xdt:untypedAtomic non tipizzati, ne verrà eseguito il cast implicito al tipo di dati xs:double.

Qualsiasi altro tipo di dati genera un errore statico.

Esempi

In questo argomento vengono forniti esempi di utilizzo del linguaggio XQuery sulle istanze XML archiviate in diverse colonne di tipo xml nel database AdventureWorks. Per una panoramica su queste colonne, vedere Rappresentazione del tipo di dati XML nel database AdventureWorks.

È possibile utilizzare l'esempio reale disponibile nella funzione ceiling (XQuery) per la funzione XQuery round(). È sufficiente sostituire la funzione ceiling() nella query con la funzione round().

Limitazioni di implementazione

Limitazioni:

  • La funzione round() mappa i valori integer a xs:decimal.

  • La funzione round() mappa i valori xs:double e xs:float compresi tra -0.5e0 e -0e0 a 0e0 anziché a -0e0.