Come convertire double in interi in SQL
In SQL Server i numeri a virgola mobile a doppia precisione sono rappresentati dal tipo di dati "float". Occasionalmente può servire convertire un float in intero. Si usa la funzione T-SQL "CAST()". "CAST()" non arrotonda automaticamente i decimali, ma può essere combinata con "ROUND()" se si desidera l'arrotondamento.
Passaggio 1
Apri SQL Server Management Studio.
Passaggio 2
Apri una nuova finestra query.
Passaggio 3
Converti un float in intero senza arrotondare con CAST(), eseguendo:
SELECT CAST(<float> AS INT)
Sostituisci "<float>" con qualsiasi numero a virgola mobile.
Passaggio 4
Converti e arrotonda un float a intero usando CAST() e ROUND(), eseguendo:
SELECT CAST(ROUND(CAST(<float> AS DECIMAL(10,3)), 0) AS INT)
Suggerimento
La funzione "CONVERT()" può sostituire "CAST()", se preferisci.
Avvertenza
"ROUND()" restituisce un tipo numerico. Se non fai il cast del float a decimal dentro la chiamata, può verificarsi un errore di overflow aritmetico quando il numero arrotondato ha più cifre dell'originale.
Convertire un numero minore di -2.147.483.647 o maggiore di 2.147.483.647 causa overflow perché fuori dall'intervallo del tipo integer.