¿Cómo redondear un número en SQLAlchemy y MySQL?

En este artículo, vamos a redondear un número usando SQLAlchemy y MySQL.

Información relacionada con la base de datos:

Hemos utilizado una base de datos mysql junto con una tabla llamada «estudiante».

Database used : geeksforgeeks
Table used : students

Requisitos:

Necesitamos MySQL instalado junto con el módulo «SQLAlchemy» y el módulo «pymysql» (una dependencia de SQLAlchemy que necesitamos para esta publicación) en el sistema.

Sintaxis para instalar las bibliotecas requeridas:

pip install sqlalchemy pymysql

Hay 2 formas en las que podemos redondear un número usando SQLAlchemy y MySQL:

  • Usando la función «ROUND» de sql.
  • Usando la función «redonda» de python.

Método 1: Usando la función redonda de SQL:

SQL nos proporciona una función » ROUND » que podemos usar en nuestras consultas y SQL nos devolverá la salida redondeada.

La sintaxis de la función “ ROUND ” es:

ROUND( value / column_name , n )

Aquí el primer argumento es el nombre de la columna o cualquier valor constante. El segundo argumento (n) es el número de decimales hasta los que desea redondear. De forma predeterminada, el valor de n es igual a 0, lo que significa que habrá 0 dígitos después del punto decimal. 

Algunos ejemplos de la salida de la función redonda:

ROUND(13.533)       --> 14
ROUND(13.565 , 2)   --> 13.57
ROUND(13.134 , -1)  --> 10

La sintaxis de la consulta sql es:

SELECT ROUND(column_name , n) FROM table ;

Y nuestro código Python para crear la consulta se verá así:

Python3

query = f'SELECT ROUND({col_to_round}) FROM {table_name}'

Nota: No hemos mencionado el valor de n en la función ROUND anterior porque queremos redondear hasta 0 decimales. Obviamente, puede especificar eso si lo desea agregando un “ y luego el valor.

Ejemplo:

Python3

from sqlalchemy import create_engine
  
user, password, host, database = 'root', '123', 'localhost', 'geeksforgeeks'
engine = create_engine(
    url=f'mysql+pymysql://{user}:{password}@{host}/{database}?charset=utf8')
  
connection = engine.connect()
  
table_name = 'students'
col_to_round = 'marks'
  
query = f'SELECT ROUND({col_to_round}) FROM {table_name}'
  
result = connection.execute(query)
for elem in result:
    print(elem[0])

Producción :

Método 2: Usar la función redonda de python

En este método, formaremos una consulta «SELECCIONAR» normal y la ejecutaremos. Luego obtendremos el resultado en el que ejecutaremos un ciclo for y luego obtendremos todos los valores. Y finalmente, redondearemos el valor usando la función «redondear» de python y, por lo tanto, lograremos nuestra tarea.

La sintaxis de la consulta sql es:

SELECT col_name FROM table_name;

Ejemplo:

Python3

from sqlalchemy import create_engine
  
user, password, host, database = 'root', '123', 'localhost', 'geeksforgeeks'
engine = create_engine(
    url=f'mysql+pymysql://{user}:{password}@{host}/{database}?charset=utf8')
  
connection = engine.connect()
  
table_name = 'students'
col_to_round = 'marks'
  
query = f'SELECT {col_to_round} FROM {table_name}'
  
result = connection.execute(query)
for elem in result:
    value = elem[0]
    rounded_value = round(value)
    print("Value :", value, "\t Rounded value :", rounded_value)

Producción:

Publicación traducida automáticamente

Artículo escrito por mycodenotein y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *