0% encontró este documento útil (0 votos)
5 vistas12 páginas

Funciones SQL: Cadenas, Números y Fechas

El documento aborda la sintaxis y funciones del Lenguaje Estructurado de Consultas (SQL), centrándose en funciones para tipos de datos string, funciones numéricas de agregación y funciones con tipos de datos fecha. Se detallan las principales funciones y su aplicación práctica, destacando su importancia en la manipulación y análisis de datos en bases de datos relacionales. Además, se enfatiza la necesidad de comprender las variaciones en la implementación de estas funciones según el sistema de gestión de bases de datos utilizado.

Cargado por

Yenci Hernández
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas12 páginas

Funciones SQL: Cadenas, Números y Fechas

El documento aborda la sintaxis y funciones del Lenguaje Estructurado de Consultas (SQL), centrándose en funciones para tipos de datos string, funciones numéricas de agregación y funciones con tipos de datos fecha. Se detallan las principales funciones y su aplicación práctica, destacando su importancia en la manipulación y análisis de datos en bases de datos relacionales. Además, se enfatiza la necesidad de comprender las variaciones en la implementación de estas funciones según el sistema de gestión de bases de datos utilizado.

Cargado por

Yenci Hernández
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Sintaxis del Lenguaje Estructurado de Consultas (SQL): Funciones con

Tipos de Datos String, Funciones Numéricas de Agregación y Funciones


con Tipos de Datos Fecha

Introducción

El Lenguaje Estructurado de Consultas (SQL, por sus siglas en inglés Structured Query
Language) representa uno de los pilares fundamentales en la gestión y manipulación de
bases de datos relacionales. Desde su estandarización por ANSI en 1986, SQL se ha
consolidado como el lenguaje universal para interactuar con sistemas de gestión de bases
de datos (SGBD), permitiendo a usuarios y desarrolladores realizar operaciones de
consulta, inserción, actualización y eliminación de datos de manera eficiente y
estructurada.

En el contexto actual, donde el manejo de grandes volúmenes de información es esencial


para la toma de decisiones empresariales y el desarrollo de aplicaciones, comprender las
funciones integradas de SQL resulta imprescindible. Este documento se enfoca en tres
categorías fundamentales de funciones: las funciones para manipulación de cadenas de
texto (string), las funciones numéricas de agregación y las funciones para el manejo de
fechas. Estas herramientas permiten transformar, analizar y presentar datos de manera
significativa, facilitando desde la generación de reportes hasta el análisis estadístico
complejo.

El objetivo de esta investigación es proporcionar una comprensión integral de estas


funciones, su sintaxis, aplicaciones prácticas y las mejores prácticas para su
implementación en entornos de bases de datos relacionales.

1. Sintaxis Básica de SQL


SQL se estructura en varios sublenguajes, cada uno con un propósito específico:

 **DDL (Data Definition Language)**: Define la estructura de la base de datos


(CREATE, ALTER, DROP)
 **DML (Data Manipulation Language)**: Manipula los datos (SELECT, INSERT,
UPDATE, DELETE)
 **DCL (Data Control Language)**: Controla los permisos (GRANT, REVOKE)
 **TCL (Transaction Control Language)**: Gestiona las transacciones (COMMIT,
ROLLBACK)

La sintaxis general de una consulta SELECT, que es la más utilizada, sigue esta
estructura:

SELECT columnas
FROM tabla
WHERE condiciones
GROUP BY columnas_agrupacion
HAVING condiciones_grupo
ORDER BY columnas_ordenamiento;

2. Funciones con Tipos de Datos String

Las funciones de cadena permiten manipular y transformar datos de tipo texto. Son
esenciales para el formateo, búsqueda y modificación de información textual.

2.1 Funciones Principales de String

**CONCAT() / ||**

Concatena dos o más cadenas de texto.


SELECT CONCAT(nombre, ' ', apellido) AS nombre_completo
FROM empleados;

**UPPER() y LOWER()**

Convierte texto a mayúsculas o minúsculas respectivamente.


SELECT UPPER(nombre) AS nombre_mayusculas,
LOWER(email) AS email_minusculas
FROM usuarios;

**LENGTH() o LEN()**

Devuelve la longitud de una cadena.


SELECT nombre, LENGTH(nombre) AS longitud
FROM productos;

**SUBSTRING() o SUBSTR()**

Extrae una porción de una cadena.


SELECT SUBSTRING(descripcion, 1, 50) AS resumen
FROM articulos;

**TRIM(), LTRIM(), RTRIM()**

Elimina espacios en blanco al inicio, final o ambos lados de una cadena.


SELECT TRIM(nombre) AS nombre_limpio
FROM clientes;

**REPLACE()**
Reemplaza todas las ocurrencias de una subcadena por otra.
SELECT REPLACE(telefono, '-', '') AS telefono_sin_guiones
FROM contactos;

**LEFT() y RIGHT()**

Extraen un número determinado de caracteres desde la izquierda o derecha.


SELECT LEFT(codigo_postal, 2) AS provincia
FROM direcciones;

**CHARINDEX() o POSITION()**

Encuentra la posición de una subcadena dentro de otra.


SELECT CHARINDEX('@', email) AS posicion_arroba
FROM usuarios;

2.2 Aplicaciones Prácticas

Estas funciones son fundamentales para:

 Normalización de datos (uniformar formatos)


 Validación de información (verificar patrones)
 Generación de reportes formateados
 Búsquedas parciales y coincidencias de texto
 Limpieza de datos importados

3. Funciones Numéricas de Agregación


Las funciones de agregación realizan cálculos sobre conjuntos de valores y devuelven un
único resultado. Son fundamentales para análisis estadísticos y reportes resumidos.

3.1 Funciones Principales de Agregación

**COUNT()**

Cuenta el número de filas o valores no nulos.


SELECT COUNT(*) AS total_empleados,
COUNT(telefono) AS empleados_con_telefono
FROM empleados;

**SUM()**

Calcula la suma de valores numéricos.


SELECT SUM(precio * cantidad) AS total_ventas
FROM ventas
WHERE fecha >= '2024-01-01';

**AVG()**

Calcula el promedio de valores numéricos.


SELECT departamento, AVG(salario) AS salario_promedio
FROM empleados
GROUP BY departamento;

**MAX() y MIN()**

Devuelven el valor máximo o mínimo respectivamente.


SELECT MAX(precio) AS precio_maximo,
MIN(precio) AS precio_minimo
FROM productos;

**GROUP BY**

Agrupa filas que tienen valores iguales en columnas específicas.


SELECT categoria, COUNT(*) AS cantidad_productos,
AVG(precio) AS precio_promedio
FROM productos
GROUP BY categoria;

**HAVING**

Filtra grupos después de aplicar GROUP BY.


SELECT ciudad, COUNT(*) AS num_clientes
FROM clientes
GROUP BY ciudad
HAVING COUNT(*) > 10;

3.2 Funciones Estadísticas Adicionales

**STDDEV() o STDEV()**

Calcula la desviación estándar.


SELECT departamento, STDDEV(salario) AS desviacion_salario
FROM empleados
GROUP BY departamento;

**VARIANCE() o VAR()**

Calcula la varianza.
SELECT VARIANCE(precio) AS varianza_precios
FROM productos;

3.3 Consideraciones Importantes

 Las funciones de agregación ignoran valores NULL (excepto COUNT(*))


 Se pueden combinar con GROUP BY para análisis por categorías
 HAVING se usa para filtrar grupos, WHERE para filtrar filas individuales
 Es posible usar múltiples funciones de agregación en una sola consulta

4. Funciones con Tipos de Datos Fecha

Las funciones de fecha y hora permiten manipular, formatear y realizar cálculos con
valores temporales, siendo esenciales para análisis cronológicos y gestión de datos
históricos.

4.1 Funciones Principales de Fecha

**GETDATE() o NOW() o CURRENT_DATE**

Obtiene la fecha y hora actual del sistema.


SELECT GETDATE() AS fecha_actual;

**DATEADD()**

Agrega o resta un intervalo de tiempo a una fecha.


SELECT DATEADD(day, 30, fecha_pedido) AS fecha_entrega_estimada
FROM pedidos;

**DATEDIFF()**

Calcula la diferencia entre dos fechas.


SELECT DATEDIFF(day, fecha_inicio, fecha_fin) AS dias_proyecto
FROM proyectos;

**YEAR(), MONTH(), DAY()**

Extraen componentes específicos de una fecha.


SELECT YEAR(fecha_venta) AS año,
MONTH(fecha_venta) AS mes,
DAY(fecha_venta) AS dia
FROM ventas;

**DATEPART()**

Extrae una parte específica de una fecha (año, mes, día, hora, etc.).
SELECT DATEPART(quarter, fecha_venta) AS trimestre,
SUM(monto) AS ventas_totales
FROM ventas
GROUP BY DATEPART(quarter, fecha_venta);

**FORMAT() o TO_CHAR()**

Formatea fechas según un patrón específico.


SELECT FORMAT(fecha_nacimiento, 'dd/MM/yyyy') AS fecha_formateada
FROM personas;
**CONVERT() o CAST()**

Convierte entre tipos de datos, incluyendo formatos de fecha.


SELECT CONVERT(VARCHAR(10), fecha_registro, 103) AS fecha_uk
FROM usuarios;

**EXTRACT()**

Extrae campos específicos de fechas (sintaxis estándar SQL).


SELECT EXTRACT(YEAR FROM fecha_compra) AS año_compra
FROM compras;

4.2 Operaciones Comunes con Fechas

**Cálculo de edades:**
SELECT nombre,
DATEDIFF(year, fecha_nacimiento, GETDATE()) AS edad
FROM personas;

**Filtrado por rangos de fechas:**


SELECT *
FROM ventas
WHERE fecha_venta BETWEEN '2024-01-01' AND '2024-12-31';

**Agrupación por períodos:**


SELECT YEAR(fecha) AS año,
MONTH(fecha) AS mes,
SUM(monto) AS total
FROM transacciones
GROUP BY YEAR(fecha), MONTH(fecha)
ORDER BY año, mes;

4.3 Consideraciones de Zona Horaria y Formatos

 Diferentes SGBD pueden tener funciones de fecha con nombres distintos


 Es importante considerar las zonas horarias en aplicaciones globales
 Los formatos de fecha varían según la configuración regional
 Se recomienda usar formato ISO 8601 (YYYY-MM-DD) para compatibilidad

5. Combinación de Funciones

Las funciones SQL pueden combinarse para realizar operaciones complejas:

SELECT
UPPER(SUBSTRING(nombre, 1, 1)) + LOWER(SUBSTRING(nombre, 2,
LEN(nombre))) AS nombre_capitalizado,
DATEDIFF(year, fecha_ingreso, GETDATE()) AS años_antiguedad,
AVG(salario) OVER (PARTITION BY departamento) AS
salario_promedio_dept
FROM empleados
WHERE YEAR(fecha_ingreso) >= 2020
GROUP BY departamento, nombre, fecha_ingreso, salario;

Conclusiones
El dominio de las funciones SQL para manipulación de cadenas, agregación numérica y
gestión de fechas representa una competencia fundamental para cualquier profesional que
trabaje con bases de datos. A lo largo de esta investigación, se ha evidenciado que estas
funciones no solo facilitan la extracción de información, sino que también permiten
transformar datos crudos en información significativa y accionable.

Las funciones de string demuestran su valor en la normalización y presentación de datos


textuales, permitiendo desde operaciones básicas de concatenación hasta
transformaciones complejas que aseguran la consistencia de la información. Su
aplicación correcta resulta crucial en procesos de limpieza de datos y validación de
información ingresada por usuarios.

Por su parte, las funciones de agregación constituyen la base del análisis estadístico en
SQL, permitiendo obtener métricas clave como promedios, totales y conteos que son
esenciales para la toma de decisiones empresariales. La capacidad de combinar estas
funciones con cláusulas GROUP BY y HAVING proporciona un poder analítico
considerable sin necesidad de herramientas externas.

Las funciones de fecha y hora, finalmente, son indispensables en cualquier sistema que
maneje información temporal. Desde el cálculo de antigüedad de empleados hasta el
análisis de tendencias de ventas por períodos, estas funciones permiten realizar
operaciones cronológicas complejas de manera eficiente y precisa.

Es importante destacar que, aunque existen estándares SQL (ANSI SQL), cada sistema de
gestión de bases de datos (MySQL, PostgreSQL, SQL Server, Oracle) puede implementar
estas funciones con ligeras variaciones en sintaxis o nomenclatura. Por ello, se
recomienda consultar la documentación específica del SGBD utilizado para aprovechar al
máximo sus capacidades particulares.

En conclusión, el conocimiento profundo de estas funciones no solo mejora la eficiencia


en la escritura de consultas, sino que también amplía significativamente las posibilidades
de análisis y transformación de datos, convirtiendo a SQL en una herramienta
verdaderamente poderosa para la gestión integral de información en entornos
empresariales y académicos.
Referencias Bibliográficas

 Date, C. J. (2004). *Introducción a los Sistemas de Bases de Datos* (7ª ed.). Pearson
Educación.
 Elmasri, R., & Navathe, S. B. (2011). *Fundamentals of Database Systems* (6th ed.).
Addison-Wesley.
 Silberschatz, A., Korth, H. F., & Sudarshan, S. (2020). *Database System Concepts*
(7th ed.). McGraw-Hill.
 Microsoft. (2024). *Transact-SQL Reference*. Microsoft Docs.
 Oracle Corporation. (2024). *Oracle Database SQL Language Reference*.
 PostgreSQL Global Development Group. (2024). *PostgreSQL Documentation*.
 MySQL AB. (2024). *MySQL Reference Manual*.

También podría gustarte