Puedes ejecutar cualquier consulta SQL en nuestra consola interactiva: Abrir consola SQL →
Funciones básicas en SQL: texto, números y fechas
SQL incluye funciones integradas que permiten transformar y manipular datos fácilmente. En esta guía aprenderás las funciones más comunes para trabajar con texto, números y fechas.
Tabla de contenidos
1. Funciones de texto
Las funciones de texto permiten manipular cadenas.
- UPPER() → convierte a mayúsculas
- LOWER() → convierte a minúsculas
- LENGTH() → longitud del texto
- SUBSTRING() → extrae parte del texto
SELECT UPPER(nombre) FROM usuarios;
SELECT LOWER(nombre) FROM usuarios;
SELECT LENGTH(nombre) FROM usuarios;
SELECT SUBSTRING(nombre, 1, 3) FROM usuarios;
2. Funciones numéricas
Las funciones numéricas permiten realizar cálculos simples.
- ABS() → valor absoluto
- ROUND() → redondeo
- CEIL() → redondeo hacia arriba
- FLOOR() → redondeo hacia abajo
SELECT ABS(-10);
SELECT ROUND(3.14159, 2);
SELECT CEIL(4.2);
SELECT FLOOR(4.9);
3. Funciones de fecha
Las funciones de fecha permiten trabajar con valores temporales.
- NOW() → fecha y hora actual
- DATE() → extrae la fecha
- YEAR() → extrae el año
- MONTH() → extrae el mes
SELECT NOW();
SELECT DATE(NOW());
SELECT YEAR(NOW());
SELECT MONTH(NOW());
4. Ejemplos prácticos
SELECT UPPER(nombre) FROM usuarios;
SELECT ROUND(precio, 0) FROM productos;
SELECT YEAR(fecha_registro) FROM usuarios;
SELECT SUBSTRING(nombre, 1, 5) FROM usuarios;
5. Ejercicios para practicar
- Convierte un nombre a mayúsculas.
- Redondea un precio a 2 decimales.
- Extrae el año de una fecha.
- Obtén la longitud de un texto.
- Extrae los primeros 3 caracteres de un nombre.
SELECT UPPER(nombre) FROM usuarios;
SELECT ROUND(precio, 2) FROM productos;
SELECT YEAR(fecha_registro) FROM usuarios;
SELECT LENGTH(nombre) FROM usuarios;
SELECT SUBSTRING(nombre, 1, 3) FROM usuarios;
6. Mini‑proyecto: Limpieza de datos
CREATE TABLE usuarios (
id INT PRIMARY KEY,
nombre VARCHAR(50),
email VARCHAR(100)
);
INSERT INTO usuarios VALUES (1, 'ana', 'ANA@MAIL.COM');
INSERT INTO usuarios VALUES (2, 'Luis', 'luis@mail.com');
SELECT
UPPER(nombre) AS nombre_mayus,
LOWER(email) AS email_minus
FROM usuarios;
7. Errores comunes
- Confundir LENGTH con COUNT.
- Usar funciones numéricas en columnas de texto.
- Olvidar parámetros en SUBSTRING.
- Asumir que todas las funciones existen en todos los motores SQL.
8. Preguntas frecuentes
¿Las funciones son iguales en MySQL y PostgreSQL?
La mayoría sí, pero algunas cambian ligeramente.
¿Necesito memorizar todas las funciones?
No, solo las básicas. Las demás se consultan cuando se necesitan.