Saltar al contenido principal

Funciones de cadena SQL: Guía para principiantes

Comprende cómo utilizar las Funciones de Cadena SQL para limpiar y procesar datos de texto con eficacia.
Actualizado 15 ene 2025  · 7 min de lectura

Trabajar con bases de datos relacionales a menudo implica manejar datos desordenados. Uno de los retos más comunes es la limpieza y el tratamiento de los datos de texto. Por suerte, SQL proporciona potentes funciones de cadena que pueden hacer este proceso mucho más eficiente, ahorrándote tiempo y esfuerzo.

En este artículo, vamos a explorar las funciones de cadena SQL más importantes que pueden ayudarte a limpiar y manipular datos de texto con facilidad. ¡Empecemos!

¿Qué son las funciones de cadena SQL?

Las Funciones de Cadena SQL son funciones incorporadas que nos permiten manipular y procesar datos de texto almacenados en una base de datos. Algunos ejemplos habituales de campos de texto son los nombres, las descripciones y las direcciones.

Estas funciones pueden utilizarse para realizar una amplia gama de tareas, entre ellas:

  • Concatenar cadenas 
  • Formatear texto
  • Extracción de partes de una cadena
  • Buscar y sustituir un texto específico dentro de una cadena

Concatenar cadenas en SQL

Podemos concatenar dos o más cadenas utilizando la función concat():

SELECT CONCAT('Street Roma',', ','72',', ','Padova') AS full_address

Este es el resultado:

full_address           |
-----------------------+
Street Roma, 72, Padova|

Esta función se utiliza mucho para combinar información proporcionada por distintas columnas, como nombres y direcciones.

Como alternativa, también puedes utilizar la función CONCAT_WS():

SELECT CONCAT_WS(',','Street Roma','72','Padova') as full_address

Por la sintaxis, puedes observar que es más fácil y eficaz en situaciones en las que quieras combinar más de dos columnas con el mismo separador.

Formatear texto

Se trata de varias funciones de cadena SQL para ajustar el texto cambiando las mayúsculas y minúsculas, eliminando los espacios sobrantes y otras operaciones. Cada función se enumera con su sintaxis y la descripción correspondiente.

Sintaxis de la función

Descripción

LOWER(cadena)

Devuelve el texto con todos los caracteres en minúsculas

SUPERIOR(cadena)

Devuelve el texto con todos los caracteres en mayúsculas

 TRIM(cadena, [carácter])

Elimina los espacios en blanco de los lados izquierdo y derecho de la cadena por defecto, carácter especial si se especifica

LTRIM(string, [character])

Elimina los espacios en blanco de la izquierda de la cadena por defecto, carácter especial si se especifica

RTRIM(string, [character])

Elimina los espacios en blanco de la derecha de la cadena por defecto, carácter especial si se especifica

Ahora, vamos a mostrar algunos ejemplos para entender cómo aplicar estas funciones. Imagina un caso en el que tienes direcciones de correo electrónico con caracteres en mayúsculas y las siglas del estado en minúsculas, y quieres cambiar para corregir el formato de estas columnas.

SELECT
		LOWER('ANONymous@gmail.com') AS email,
		UPPER('it') AS country

 El resultado es el siguiente:

email              |country|
-------------------+-------+
anonymous@gmail.com|IT     |

Además de cambiar las mayúsculas y minúsculas, también puede ser útil eliminar los espacios en blanco al principio o al final de las cadenas. La función principal de este tipo de operación es TRIM() eliminar de ambos lados. Otras alternativas son LTRIM() y RTRIM() para eliminar los espacios en blanco de los lados izquierdo y derecho respectivamente:

SELECT  TRIM(' Street Roma, 72 ') AS trimmed_address,
	  LTRIM(' Street Roma, 72 ') AS ltrimmed_address,
	  RTRIM(' Street Roma, 72 ') AS rtrimmed_address

La consulta devuelve el siguiente resultado:

trimmed_address|ltrimmed_address|rtrimmed_address|
---------------+----------------+----------------+
Street Roma, 72|Street Roma, 72 | Street Roma, 72|

A partir de la salida, puedes captar las diferencias entre cada función. Además, se puede aplicar TRIM() para eliminar otros caracteres especiales, además de los espacios en blanco. Por ejemplo, queremos limpiar el campo del teléfono deshaciéndonos del signo +:

SELECT TRIM('++345','+') AS telephone

La salida devuelta es la siguiente:

telephone|
---------+
345      |

Como puedes ver, el número de teléfono está completamente limpio.

Extraer texto

Después de concatenar y modificar el formato de las cadenas, es hora de descubrir cómo extraer texto utilizando la función especial de SQL SUBSTRING(). Vamos a mostrar distintos ejemplos para dominar esta función:

SELECT
		SUBSTRING('Antony',1,1) AS first_character, 
		SUBSTRING('Antony',1,3) AS first_3characters,
		SUBSTRING('Antony',1,5) AS first_5characters

Este es el resultado:

first_character|first_3characters|first_5characters|
---------------+-----------------+-----------------+
A              |Ant              |Anton            |

También podemos combinar esta función con las anteriores para poner en mayúsculas el primer carácter, convertir el resto de letras a minúsculas y, después, concatenar todas las letras:

SELECT
LENGTH('antony') AS lenght_name,
SUBSTRING(UPPER('antony'),1,1) AS first_character,
SUBSTRING(LOWER('antony'),2,LENGTH('antony')) AS  last_characters,
CONCAT(SUBSTRING(UPPER('antony'),1,1),SUBSTRING(LOWER('antony'),
      2,LENGTH('antony'))) AS name

Esta consulta devuelve el siguiente resultado:

lenght_name|first_character|LAST_characters|name  |
-----------+---------------+---------------+------+
          6|A              |ntony          |Antony|

Además de las funciones vistas hasta ahora, puedes fijarte en la función LENGTH() que ayuda a extraer la longitud de la cadena. En este contexto, es útil especificar el índice del último carácter.

Buscar y reemplazar cadenas en SQL

Podemos mostrar las principales funciones para buscar y sustituir cadenas:

Sintaxis de la función

Descripción

REEMPLAZAR(cadena,x,y)

Sustituye el valor x de la cadena por el valor y

CHARINDEX(x,cadena)

Busca la posición del valor x dentro de la cadena

Una función muy útil es REPLACE() para sustituir una subcadena por otra subcadena dentro de la cadena:

SELECT
		'Street Roma - 32' AS address,
		replace('Street Roma - 32','-',',') AS cleaned_address

Este es el resultado:

address         |cleaned_address |
----------------+----------------+
Street Roma - 32|Street Roma , 32|

En este caso, acabamos de sustituir un guión por una coma dentro de la dirección. También podemos intentar encontrar la posición del guión dentro de la dirección:

SELECT
		'Street Roma - 32' AS address,
		LENGTH('Street Roma - 32') AS length_address,
		CHARINDEX('-','Street Roma - 32') AS location_dash

La consulta devuelve el siguiente resultado:

address         |length_address|location_dash|
----------------+--------------+-------------+
Street Roma - 32|            16|           13|

Podemos observar que el símbolo - está en la posición 13 de la dirección, casi al final de la cadena.

Conclusión

Dominar estas funciones de cadena SQL puede marcar la diferencia a la hora de limpiar los datos con eficacia. Por supuesto, el artículo no cubre todas las funciones, sino sólo una breve lista de las más importantes. No todas las funciones SQL son siempre válidas y pueden cambiar según el tipo de base de datos que utilices. Por ejemplo, CHARINDEX puede sustituirse por LOCATE() en una base de datos MySQL. 

Para practicar con estas funciones, puedes consultar nuestro Informes en SQL en SQL. Puede ayudarte a convertirte en un experto en limpieza de datos y elaboración de informes complejos. También recomendamos el Fundamentos de SQL para cubrir todos los aspectos esenciales de SQL.


Eugenia Anello's photo
Author
Eugenia Anello
LinkedIn
Temas

Los mejores cursos de SQL

programa

SQL Fundamentals

26hrs hr
Master the SQL fundamentals needed for business, learn how to write SQL queries, and start analyzing your data using this powerful language.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

tutorial

FUNCIÓN SQL FORMAT()

FORMAT() es una de las funciones más utilizadas en SQL. Conozca sus principales aplicaciones en este tutorial.
Travis Tang 's photo

Travis Tang

3 min

tutorial

Ejemplos y tutoriales de consultas SQL

Si quiere iniciarse en SQL, nosotros le ayudamos. En este tutorial de SQL, le presentaremos las consultas SQL, una potente herramienta que nos permite trabajar con los datos almacenados en una base de datos. Verá cómo escribir consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

21 min

tutorial

Función SQL COALESCE

COALESCE() es una de las funciones más útiles de SQL. Lee este tutorial para aprender a dominarlo.
Travis Tang 's photo

Travis Tang

4 min

tutorial

FUNCIÓN SQL COUNT()

COUNT() te permite contar el número de filas que cumplen determinadas condiciones. Aprende a utilizarlo en este tutorial.
Travis Tang 's photo

Travis Tang

3 min

tutorial

Tutorial de comparación de patrones SQL LIKE

Utiliza LIKE para filtrar registros SQL según coincidencias de cadenas específicas. Este tutorial te enseña a utilizar comodines, NOT, LOWER, UPPER y CASE WHEN con LIKE.
Travis Tang 's photo

Travis Tang

8 min

tutorial

Cómo utilizar GROUP BY y HAVING en SQL

Una guía intuitiva para descubrir los dos comandos SQL más populares para agregar filas de tu conjunto de datos
Eugenia Anello's photo

Eugenia Anello

6 min

Ver másVer más