SQL ha tre funzioni che possono arrotondare i valori di un determinato numero di posizioni decimali. È possibile utilizzare queste funzioni per risolvere una serie di problemi relativi al database , che vanno da sbarazzarsi di frazioni di centesimi su operazioni finanziarie di ingressi dati regolarizzazione provenienti da più strumenti scientifici . Se sei nuovo di SQL , le sue funzioni di arrotondamento possono sembrare un po 'strano , e possono causare alcuni problemi di adattamento . " ROUND ( ) " convenzionale arrotondamento
di SQL funzione assume un valore e turni IT esistente per il numero specificato di posizioni decimali . Il formato è il seguente :
ROUND ( [ valore ] , [ n] , [1 ] ) ) per
Qui, " [ valore] " è un valore decimale , e " [ n] "è il numero di cifre del valore deve essere arrotondato al . Arrotonda arrotondamento convenzionali valori di 0.5 o superiore , e valori di 0,49 e più in basso . Impostando il valore a "0" arrotonda a valori interi ; l'impostazione del valore di giri "-1" al più vicino multiplo di 10 . Il " ROUND ( ) " terzo parametro della funzione , " [ 1 ] , " tronca il numero al numero di cifre decimali specificato se impostata su qualsiasi valore diverso da zero . Una notevole fonte di problemi di arrotondamento imprevisti venire quando , a causa di un errore tipografico , il terzo parametro è impostato e il numero tronca invece che tondi.
Pavimento e soffitto
SQL utilizza la funzione " FLOOR ( ) " per forzare i valori ad arrotondare al valore più vicino , e il "tetto ( ) " la funzione di arrotondare al valore più vicino . Entrambe queste funzioni restituiscono valori interi , anche utilizzando un tipo di dati float con un numero di cifre decimali specificato restituisce un valore di zeri dopo il punto decimale
Tipi di dati
consigliati < . br>
la ragione più probabile per gli errori di arrotondamento in SQL deriva dall'utilizzo di un tipo di dati inaspettato per l'espressione numerica nel " ROUND ( ) " la funzione, o di utilizzare " FLOOR ( )" o " SOFFITTO ( ) " e in attesa di ottenere un tipo di dati decimale , piuttosto che un numero intero. Se la vostra funzione SQL sta dando risultati inaspettati arrotondamento , assicurarsi che la funzione " CAST ()" che è l'indicazione del numero ha il tipo di dati impostato per " intero ", " decimale ", "denaro " o " smallmoney . " il tipo di dati " decimale " è limitata a solo 38 cifre totali, che è una limitazione che poche persone al di fuori della comunità scientifica incontrano .
Altri tipi di dati < br > con
Due tipi di dati restituiscono valori numerici che possono causare problemi con la funzione " ROUND ( ) " . Si tratta di " reale" e "Float" tipi di numero in SQL , utilizzati per registrare molto piccole frazioni che vengono rastrellati dalla maggior parte delle varietà di SQL all'ultimo decimale nel tipo di dati indicati ; alcune implementazioni di SQL rotonde a zero , arrotondare o arrotondare convenzionalmente . Quando si dispone di dati che vengono trasmessi a un database SQL che potrebbero utilizzare il "vero" o tipi di dati " float " , utilizzare la funzione " CAST ( )" o " CONVERT ( ) " funzioni di convertirli in tipo di dati " decimale " .