Nwlapcug.com


Arrotondamento del problema in SQL

SQL ha tre funzioni che possono arrotondare i valori da un numero specifico di cifre decimali. È possibile utilizzare queste funzioni per risolvere una serie di problemi correlati al database, che vanno da sbarazzarsi di frazioni di centesimi sulle transazioni finanziarie per regolarizzare gli input di dati da più strumenti scientifici. Se siete nuovi a SQL, le sue funzioni di arrotondamento possono sembrare un po' strani e possono causare alcuni problemi di adattamento.

Arrotondamento convenzionale

Funzione "Round ()" di SQL prende un valore esistente e giri per il numero di posizioni decimali specificato. Il formato è come segue:

Round([value],[n],[1]))

Qui, "[valore]" è un valore decimale, e "[n]" è il numero di cifre, che il valore deve essere arrotondato. Arrotondamento convenzionale arrotonda i valori di up 0,5 o maggiore e valori di. 49 e più in basso. Impostando il valore su "0" giri di valori integer; impostando il valore su "-1" giri al multiplo più vicino di 10. Terzo parametro della funzione "Round ()", "[1]," tronca il numero per il numero di posizioni decimali specificato se impostata su qualsiasi valore diverso da zero. Una fonte significativa di imprevisti problemi di arrotondamento venire quando, a causa di un errore di battitura, il terzo parametro è impostato e il numero tronca piuttosto che arrotonda.

PAVIMENTO e soffitto

SQL utilizza la funzione "Floor" per imporre valori arrotondamento per difetto al valore più vicino e la funzione di "Ceiling ()" per arrotondare al valore più vicino. Entrambe queste funzioni restituiscono valori integer; anche utilizzando un galleggiante di tipo di dati con un numero di posizioni decimali specificato restituisce un valore con gli zeri dopo la cifra decimale.

Tipi di dati consigliati

Il motivo più probabile per l'arrotondamento errori in SQL deriva dalla utilizzando un tipo di dati imprevisti per l'espressione numerica nella funzione "Round ()", o dal usando "Floor ()" o "CEILING" e mi aspettavo di ottenere un tipo di dati decimal, piuttosto che un valore integer. Se ti dà la funzione SQL imprevisto arrotondamento risultati, assicurarsi che la funzione di "Cast ()" che si sta specificando il numero ha i dati tipo impostata su "intero", "decimale", "denaro" o "smallmoney." Il tipo di dati "decimale" è limitato a solo 38 cifre totale, che è una limitazione che poche persone di fuori della comunità scientifica incorrere in.

Altri tipi di dati

Due tipi di dati restituiscono valori numerici che possono causare problemi con la funzione "Round ()". Questi sono "reali" e "galleggiante" numeri tipi SQL, utilizzato per registrare molto piccole frazioni che ottenere arrotondate dalla maggior parte delle varietà di SQL l'ultimo decimale nel tipo di dati indicati; Alcune implementazioni di SQL tondo a zero, rotondo giù o rotondo convenzionalmente. Quando si dispone di dati viene alimentati in un database SQL che poteva utilizzare i tipi di dati "reali" o "galleggiante", è possibile utilizzare le funzioni "Cast ()" o "Convert" per convertirli nel tipo di dati "decimale".