Come convertire i doppi in numeri interi in SQL
I numeri a virgola mobile a precisione doppia sono rappresentati dal tipo di dati "float" in SQL Server. Occasionalmente, potrebbe essere necessario convertire un numero in virgola mobile in un numero intero. Ciò si ottiene mediante l'uso della funzione T-SQL "CAST()". La funzione "CAST()" non arrotonda automaticamente i decimali per eccesso o per difetto, ma può essere combinata con la funzione T-SQL "ROUND()" se si desidera arrotondare.
Passaggio 1
Apri SQL Server Management Studio.
Passaggio 2
Apri una nuova finestra di query.
Passaggio 3
Converti un numero in virgola mobile in un numero intero senza arrotondare utilizzando la funzione CAST() eseguendo la seguente istruzione di query, sostituendo "
SELECT CAST(
Passaggio 4
Converti e arrotonda un numero in virgola mobile a un numero intero utilizzando la funzione CAST() eseguendo la seguente istruzione di query, sostituendo "
SELECT CAST(ROUND(CAST(
Suggerimento
La funzione "CONVERT()" può essere sostituita con "CAST()", se si preferisce.
Avviso
La funzione "ROUND()" restituisce un tipo di dati numerico. Se non esegui il cast del float come decimale all'interno della chiamata di funzione, in determinate situazioni può verificarsi un errore di overflow aritmetico quando il numero arrotondato risulta in più cifre rispetto all'argomento originale.
Il tentativo di convertire un numero inferiore a -2.147.483.647 o maggiore di 2.147.483.647 risulterà in un errore di overflow aritmetico perché il numero non rientra nell'intervallo del tipo di dati intero.