Funciones de conversión de números
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: #
Esto convierte el número decimal 123.45 en 123.
Otro ejemplo útil:
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: #
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: #
5. TRUNC() - Truncar Decimales (PostgreSQL y MySQL) #
Elimina los decimales sin redondear.
Ejemplo: #
6. FORMAT() - Formatear Números (Solo en MySQL) #
Devuelve un número con formato específico.
Ejemplo: #
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
Resumen del tema
Conceptos clave #
- Conversión de Tipos con
CAST()yCONVERT(): transforman valores entre tipos compatibles (por ejemplo, de texto o decimal a entero, o de texto a fecha). - Redondeo y Truncamiento:
ROUND()redondea al número de decimales especificado,CEIL()/CEILING()aproxima hacia arriba,FLOOR()hacia abajo yTRUNC()/TRUNCATE()elimina decimales sin redondeo. - Formateo Numérico:
FORMAT(),TO_CHAR()oprintf()aplican máscaras de moneda, separadores de miles y cantidad fija de decimales para presentación. - Operaciones Aritméticas Básicas:
ABS()calcula el valor absoluto, mientras quePOWER()ySQRT()resuelven potencias y raíces cuadradas.
Qué debes recordar #
CAST() es el estándar ANSI SQL para conversiones de tipos, mientras que el control preciso de decimales (ROUND vs TRUNC) es fundamental para evitar discrepancias en cálculos financieros o estadísticos.