¡Hola a todos! En este post, vamos a hablar sobre funciones de texto en SQL, una herramienta clave para manipular y transformar cadenas de texto en tus consultas. Las bases de datos a menudo almacenan datos en formato de texto, y saber cómo manejarlos correctamente puede hacerte la vida mucho más fácil. ¡Vamos a verlo!
Funciones de texto comunes en SQL
1. LEN() – Longitud del texto
La función LEN() se utiliza para obtener la longitud (número de caracteres) de una cadena de texto.
SELECT LEN('Hola SQL'); -- Devuelve 8
2. LEFT() y RIGHT() – Extraer caracteres desde la izquierda o derecha
Estas funciones permiten extraer una cantidad específica de caracteres desde el inicio o final de una cadena.
SELECT LEFT('Aprender SQL', 8); -- Devuelve 'Aprender' SELECT RIGHT('Aprender SQL', 3); -- Devuelve 'SQL'
3. SUBSTRING() – Extraer parte de una cadena
SUBSTRING() te permite obtener una parte específica de una cadena, indicando la posición de inicio y la cantidad de caracteres.
SELECT SUBSTRING('Manipulación de Texto en SQL', 1, 11); -- Devuelve 'Manipulación'
4. UPPER() y LOWER() – Convertir mayúsculas y minúsculas
Estas funciones convierten todo el texto en mayúsculas (UPPER()) o minúsculas (LOWER()).
SELECT UPPER('sql es divertido'); -- Devuelve 'SQL ES DIVERTIDO' SELECT LOWER('SQL ES DIVERTIDO'); -- Devuelve 'sql es divertido'
5. LTRIM() y RTRIM() – Eliminar espacios
LTRIM() elimina los espacios en blanco del inicio de una cadena, mientras que RTRIM() los elimina del final.
SELECT LTRIM(' Espacio al inicio'); -- Devuelve 'Espacio al inicio' SELECT RTRIM('Espacio al final '); -- Devuelve 'Espacio al final'sql
6. REPLACE() – Reemplazar texto
Con REPLACE(), puedes reemplazar una subcadena dentro de una cadena por otro valor.
SELECT REPLACE('2024-01-01', '-', '/'); -- Devuelve '2024/01/01'
7. CHARINDEX() – Buscar la posición de un texto
CHARINDEX() devuelve la posición de una subcadena dentro de otra cadena.
SELECT CHARINDEX('SQL', 'Aprender SQL es útil'); -- Devuelve 10
Ejemplo práctico
Imagina que tienes una tabla de clientes y deseas formatear los nombres en mayúsculas, eliminar espacios en blanco y extraer solo el apellido. Aquí te dejo un ejemplo usando varias funciones de texto:
SELECT
UPPER(LTRIM(RTRIM(nombre_completo))) AS nombre_formateado,
SUBSTRING(nombre_completo,
CHARINDEX(' ', nombre_completo) + 1,
LEN(nombre_completo)) AS apellido
FROM clientes;
Este código formatea el nombre_completo eliminando los espacios en blanco y convierte todo a mayúsculas. También extrae el apellido utilizando SUBSTRING() y CHARINDEX().
Resumen rápido:
LEN(): Obtiene la longitud de una cadena.
LEFT() / RIGHT(): Extrae una parte de la cadena desde la izquierda o derecha.
SUBSTRING(): Extrae una subcadena desde una posición específica.
UPPER() / LOWER(): Convierte el texto a mayúsculas o minúsculas.
LTRIM() / RTRIM(): Elimina los espacios en blanco al inicio o al final.
REPLACE(): Reemplaza una subcadena dentro de una cadena.
CHARINDEX(): Encuentra la posición de una subcadena dentro de otra.
Estas funciones te permitirán manipular y transformar cadenas de texto de manera eficiente. ¡Pruébalas en tus consultas y verás cómo te ayudan a procesar datos de texto más fácilmente!
Comments