Cómo convertir dobles a enteros en SQL

Los números de coma flotante de precisión doble se representan con el tipo de datos "flotante" en SQL Server. Ocasionalmente, puede ser necesario convertir un número de punto flotante en un número entero. Esto se logra mediante el uso de la función T-SQL "CAST()". La función "CAST()" no redondeará automáticamente los decimales hacia arriba o hacia abajo, pero se puede combinar con la función "ROUND()" de T-SQL si se desea redondear.

Paso 1

Abra SQL Server Management Studio.

Paso 2

Abre una nueva ventana de consulta.

Paso 3

Convierta un número de punto flotante en un número entero sin redondear usando la función CAST() ejecutando la siguiente declaración de consulta, reemplazando "" con cualquier número de punto flotante:

SELECCIONE CAST( COMO INT)

Paso 4

Convierta y redondee un número de punto flotante a un entero usando la función CAST() ejecutando la siguiente declaración de consulta, reemplazando "" con cualquier número de punto flotante:

SELECCIONE CAST(REDONDO(CAST( COMO DECIMAL(10,3)), 0) COMO INT)

Consejo

La función "CONVERT()" se puede sustituir por "CAST()", si se prefiere.

Advertencia

La función "ROUND()" devuelve un tipo de datos numérico. Si no convierte el flotante como un decimal dentro de la llamada de función, puede ocurrir un error de desbordamiento aritmético en ciertas situaciones cuando el número redondeado da como resultado más dígitos que el argumento original.

Intentar convertir un número menor que -2,147,483,647 o mayor que 2,147,483,647 dará como resultado un error de desbordamiento aritmético porque el número está fuera del rango del tipo de datos entero.