Modelado físico avanzado relacional de bases de datos

Las funciones de conversión de números en SQL permiten transformar valores numéricos en otros tipos de datos o modificar su formato. A continuación, veremos las funciones más utilizadas en SQLite, PostgreSQL y MySQL.


1. CAST() - Convertir Tipos de Datos

La función CAST() se usa para convertir un valor de un tipo a otro.

Ejemplo:

1SELECT CAST(123.45 AS SIGNED);

Esto convierte el número decimal 123.45 en 123.

Otro ejemplo útil:

1SELECT CAST('2024-01-01' AS DATE);

Convierte un texto en tipo DATE (solo en PostgreSQL y MySQL, SQLite maneja fechas como texto).


2. CONVERT() - Conversión de Tipos de Datos (Solo MySQL)

CONVERT() es similar a CAST(), pero exclusivo de MySQL.

Ejemplo:

1SELECT CONVERT(123.45, SIGNED);

3. ROUND() - Redondeo de Números

ROUND() redondea un número a la cantidad de decimales especificada.

Ejemplo:

1-- SQLite, PostgreSQL, MySQL
2SELECT ROUND(123.456, 2);

Esto devuelve 123.46, redondeando a dos decimales.


4. CEIL() y FLOOR() - Redondeo hacia Arriba o Abajo

  • CEIL() redondea hacia arriba.
  • FLOOR() redondea hacia abajo.

Ejemplo:

1SELECT CEIL(123.45);  -- Devuelve 124
2SELECT FLOOR(123.45); -- Devuelve 123

5. TRUNC() - Truncar Decimales (PostgreSQL y MySQL)

Elimina los decimales sin redondear.

Ejemplo:

1SELECT TRUNCATE(123.456, 2);

6. FORMAT() - Formatear Números (Solo en MySQL)

Devuelve un número con formato específico.

Ejemplo:

1SELECT FORMAT(12345.6789, 2); -- Resultado: '12,345.68'

Esto devuelve 12,345.68 con separación de miles y dos decimales.


7. ABS() - Valor Absoluto

Devuelve el valor absoluto de un número.

Ejemplo:

1SELECT ABS(-123.45);

Esto devuelve 123.45.


8. POWER() y SQRT() - Potencia y Raíz Cuadrada

  • POWER(base, exponente) calcula una potencia.
  • SQRT(valor) devuelve la raíz cuadrada.

Ejemplo:

1SELECT POWER(2, 3); -- Devuelve 8
2SELECT SQRT(16); -- Devuelve 4