Funciones SQL
SQL incluye bastantes funciones para manipular diferentes tipos de datos. Puedes consultar más de los que aquí vemos en diferentes fuentes:
Todas las funciones mostradas aquí se pueden aplicar a cualquier columna de una tabla siempre que tenga el tipo de datos adecuado, por ejemplo:
SELECT CONCAT('Hola', ' ', nombre) AS Saludo,
YEAR(nacimiento)
FROM empleado;Funciones de Cadenas de Texto
Estas funciones permiten manipular y analizar texto (cadenas) dentro de MySQL. Son útiles para formatear, buscar y modificar datos de texto.
CONCAT: Une dos o más cadenas en una sola.
SELECT CONCAT('Hola', ' ', 'Mundo'); -- Resultado: 'Hola Mundo'LENGTH: Devuelve la longitud de una cadena en bytes.
SELECT LENGTH('Hola'); -- Resultado: 4LOWER / UPPER: Convierte una cadena a minúsculas o mayúsculas, respectivamente.
SELECT LOWER('Hola'); -- Resultado: 'hola'SUBSTRING: Extrae una parte específica de una cadena.
SELECT SUBSTRING('Hola Mundo', 1, 4); -- Resultado: 'Hola'REPLACE: Sustituye todas las ocurrencias de una subcadena por otra.
SELECT REPLACE('Hola Mundo', 'Mundo', 'Amigo'); -- Resultado: 'Hola Amigo'Funciones Numéricas
Estas funciones realizan operaciones matemáticas sobre datos numéricos. Son útiles para cálculos y transformación de valores numéricos.
ABS: Devuelve el valor absoluto de un número.
SELECT ABS(-5); -- Resultado: 5CEIL y FLOOR: Redondean un número al entero superior (CEIL) o inferior (FLOOR) más cercano.
SELECT CEIL(2.3); -- Resultado: 3
SELECT FLOOR(2.7); -- Resultado: 2ROUND: Redondea un número a un número específico de decimales.
SELECT ROUND(5.678, 2); -- Resultado: 5.68MOD: Devuelve el residuo de una división entre dos números.
SELECT MOD(10, 3); -- Resultado: 1RAND: Genera un número aleatorio entre 0 y 1.
SELECT RAND(); -- Resultado: 0.1543 (valor aleatorio)Funciones de Fecha y Hora
Estas funciones ayudan a trabajar con fechas y horas. Son esenciales para comparar, calcular intervalos y formatear fechas.
NOW: Devuelve la fecha y hora actual.
SELECT NOW(); -- Resultado: '2024-11-08 13:20:15' (ejemplo)CURDATE y CURTIME: Devuelven la fecha actual (CURDATE) o la hora actual (CURTIME).
SELECT CURDATE(); -- Resultado: '2024-11-08'
SELECT CURTIME(); -- Resultado: '13:20:15'DATE_ADD y DATE_SUB: Añaden o restan intervalos de tiempo a una fecha.
SELECT DATE_ADD('2024-11-08', INTERVAL 7 DAY); -- Resultado: '2024-11-15'
SELECT DATE_SUB('2024-11-08', INTERVAL 7 DAY); -- Resultado: '2024-11-01'YEAR, MONTH, DAY: Extraen el año, mes o día de una fecha.
SELECT YEAR('2024-11-08'); -- Resultado: 2024
SELECT MONTH('2024-11-08'); -- Resultado: 1
SELECT DAY('2024-11-08'); -- Resultado: 8DATEDIFF: Calcula la diferencia en días entre dos fechas.
SELECT DATEDIFF('2024-11-10', '2024-11-08'); -- Resultado: 2Last updated