sql >> Base de Datos >  >> RDS >> Database

Cómo redondear un número al entero más cercano en SQL

Problema:

Quiere redondear un número al entero más cercano.

Ejemplo:

Nuestra base de datos tiene una tabla llamada rent con datos en las siguientes columnas:id , city , area y bikes_for_rent .

id ciudad área bicicletas_en_alquiler
1 Los Ángeles 1302.15 1000
2 Fénix 1340,69 500
3 Fargo 126,44 101

Mostremos el nombre de cada ciudad junto con la proporción de su área con respecto a la cantidad de bicicletas en alquiler. Esta proporción debe ser un número entero.

Solución:

SELECT city, CEILING(area/bikes_for_rent) AS ratio
FROM rent;

La consulta devuelve cada ciudad con la proporción como un número entero del área redondeada por bicicleta.

id ciudad proporción
1 Los Ángeles 2
2 Fénix 3
3 Fargo 2

Discusión:

Al igual que su contraparte piso, techo es una operación matemática que toma un número y lo redondea al entero más cercano. Por ejemplo, el techo de 5 es 5, y también lo es el techo de 4.1.

SQL usa el CEILING función para realizar este cálculo. Toma un solo argumento:la columna cuyos valores desea redondear al entero más cercano.

En nuestro ejemplo, nos gustaría calcular cuántos metros cuadrados (redondeados al entero más cercano) hay por bicicleta. En nuestro ejemplo, usamos CEILING así:CEILING(area/bikes_for_rent) ). Esto devuelve un resultado entero, no un flotante.