Lesión 3.1 · Tiempo de lectura: ~8 min
En esta lección, explorarás el tema de las funciones SQL y aprenderás cómo las funciones incorporadas transforman datos directamente dentro de una consulta. Cubriremos la sintaxis básica, las categorías de funciones y ejemplos prácticos basados en Sakila. Al final, podrás aplicar funciones SQL con confianza en flujos de trabajo de análisis reales.
Funciones SQL Incorporadas
En lecciones anteriores, aprendiste cómo seleccionar, filtrar y ordenar filas. El siguiente paso es calcular y transformar valores dentro de la consulta sin procesamiento adicional en la aplicación.
Aquí es donde las funciones SQL incorporadas son más útiles: hacen que las consultas sean más expresivas, reducen la lógica repetitiva y aceleran la preparación de informes.
Qué Son las Funciones SQL Incorporadas
Una función SQL incorporada es una operación predefinida proporcionada por el SGBD. Acepta argumentos y devuelve un nuevo valor, como texto, un número, una fecha o un resultado booleano.
Las funciones se utilizan cuando necesitas:
- normalizar valores de texto;
- realizar cálculos en SQL;
- extraer partes de cadenas o fechas;
- convertir valores entre tipos de datos.
Sintaxis Básica
FUNCTION_NAME(argument1, argument2, ...)
Donde:
FUNCTION_NAMEes el nombre de la función;argument1, argument2, ...son columnas, literales o resultados de otras funciones.
Ejemplo de llamada a función simple:
SELECT
UPPER(first_name) AS upper_name
FROM customer
LIMIT 5;
Resultado: cada valor de first_name se convierte a mayúsculas.
También puedes usar llamadas a funciones anidadas, donde una función se pasa como argumento a otra.
Ejemplo de llamada a función anidada:
SELECT
UPPER(TRIM(first_name)) AS normalized_name
FROM customer
LIMIT 5;
Resultado: se eliminan los espacios en blanco al principio y al final, luego el nombre se convierte a mayúsculas.
Dónde Se Usan Comúnmente las Funciones
Funciones en SELECT
En SELECT, las funciones ayudan a dar forma a la salida.
SELECT
customer_id,
CONCAT(first_name, ' ', last_name) AS full_name,
UPPER(email) AS email_upper
FROM customer
LIMIT 10;
Nota: este ejemplo utiliza solo una tabla y muestra cómo las funciones pueden formatear columnas de salida directamente en SELECT.
Funciones en WHERE
En WHERE, las funciones apoyan el filtrado basado en condiciones calculadas.
SELECT
title,
rental_duration
FROM film
WHERE LENGTH(title) >= 15
AND ABS(rental_duration - 5) <= 2
ORDER BY title;
Resultado: devuelve películas con títulos más largos y duraciones de alquiler cercanas a 5 días.
Principales Tipos de Funciones SQL
Funciones de cadena
Ejemplos: UPPER, LOWER, TRIM, SUBSTRING, CONCAT.
Se utilizan para limpiar y formatear campos de texto.
Funciones matemáticas
Ejemplos: ROUND, ABS, CEILING, FLOOR, MOD.
Se utilizan para cálculos, redondeos y control numérico.
Funciones de fecha y hora
Ejemplos: NOW, CURRENT_DATE, YEAR, MONTH, DATE_ADD, DATEDIFF.
Se utilizan para análisis basados en tiempo y cálculos de intervalos.
Funciones de conversión de tipo
Ejemplos: CAST, CONVERT.
Se utilizan cuando los valores deben ser convertidos explícitamente al tipo correcto.
Recomendaciones Prácticas
- Siempre verifica el comportamiento de las funciones en tu SGBD: la sintaxis y los detalles pueden diferir.
- Usa alias
ASpara que las columnas calculadas sean más fáciles de leer. - Ten en cuenta los valores
NULL, ya que los resultados de las funciones pueden volverseNULL. - Evita funciones profundamente anidadas en una sola consulta; divide la lógica compleja en pasos.
Conclusiones clave de esta lección:
- Las funciones SQL incorporadas te permiten procesar datos directamente en las consultas.
- Las funciones en
SELECTdan forma a la salida, mientras que las funciones enWHEREmejoran la precisión del filtrado. - Las funciones de cadena, matemáticas, de fecha/hora y de conversión cubren la mayoría de las necesidades básicas.
- El manejo correcto de los tipos de datos y de
NULLes esencial para obtener resultados predecibles. - El uso adecuado de funciones hace que las consultas SQL sean más cortas, claras y útiles para el análisis.
Preguntas de Entrevista
¿Qué es una función SQL incorporada y por qué es útil?
Una función SQL incorporada es una operación predefinida proporcionada por el SGBD. Es útil porque te permite transformar, calcular y formatear datos directamente en una consulta.
¿Por qué se utilizan comúnmente las funciones SQL tanto en SELECT como en WHERE?
En SELECT, las funciones ayudan a formatear o calcular valores de salida. En WHERE, ayudan a filtrar filas utilizando condiciones calculadas.
¿Qué es una llamada a función anidada y cuándo deberías usarla?
Una llamada a función anidada significa pasar el resultado de una función a otra función. Úsala cuando los datos necesiten múltiples pasos de transformación, por ejemplo UPPER(TRIM(first_name)).
En la próxima lección, nos enfocaremos en las funciones de cadena SQL y aprenderemos cómo limpiar y transformar datos de texto de manera efectiva.