A completare problema di SQL

February 15

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

convenzionale arrotondamento

"ROUND ()" di SQL funzione prende un valore esistente e arrotonda al numero specificato di cifre decimali. Il formato è il seguente:

ROUND ([valore], [n], [1]))

Qui, "[valore]" è un valore decimale, e "[n]" è il numero di cifre del valore deve essere arrotondato a. Convenzionali valori giri arrotondamento di 0,5 o superiore fino, ei valori di 0,49 e più in basso. Impostando il valore "0" round per valori interi; impostando il valore di "-1" giri al più vicino multiplo di 10. Il "ROUND ()" terzo parametro della funzione, "[1]," tronca il numero al numero specificato di cifre decimali, se impostata su un valore diverso da zero. Una significativa fonte di problemi di arrotondamento imprevisti venire quando, a causa di un errore tipografico, il terzo parametro è impostato e il numero tronca invece di giri.

Pavimento e soffitto

SQL utilizza il ") FLOOR (" funzione per forzare i valori per arrotondare fino al valore più vicino, e il ") SOFFITTO (" 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 con zeri dopo il punto decimale.

Tipi di dati consigliati

La ragione più probabile per errori di arrotondamento in SQL deriva dall'utilizzo di un tipo di dati inaspettato per l'espressione numerica nella "ROUND ()" la funzione, o di utilizzare "FLOOR ()" o "tetto ()" e in attesa di ottenere un tipo di dati decimali , piuttosto che un numero intero. Se la funzione SQL si sta dando risultati inaspettati di arrotondamento, assicurarsi che la funzione "CAST ()" che sta specificando il numero ha il tipo di dati impostato su "intero", "decimali", "denaro" o "smallmoney." Il tipo di dati "decimali" è limitata a soli 38 cifre totali, che è una limitazione che poche persone al di fuori della comunità scientifica incontrano.

Altri tipi di dati

Due tipi di dati restituiscono valori numerici che possono causare problemi con il "turno) (" la funzione. Questi sono "reali" e "float" tipi di numero in SQL, utilizzati per registrare molto piccole frazioni che vengono arrotondati dalla maggior parte delle varietà di SQL all'ultimo decimale nel tipo di dati indicato; Alcune implementazioni di SQL rotonda a zero, arrotondare per difetto o convenzionalmente turno. Quando si dispone di dati che vengono inseriti in un database SQL che potrebbe essere utilizzato il "vero" o tipi di dati "float", utilizzare la funzione "CAST ()" o "Converti) (" Funzioni di convertirli nel tipo di dati "decimali".