SUBSTRING_INDEX() en MySQL

En esta lección aprenderás a usar SUBSTRING_INDEX en MySQL. Subcadena antes de un delimitador.

Las funciones de texto y cadenas te permiten limpiar, transformar o combinar datos de texto en consultas y informes sin cambiar los datos almacenados en la tabla. El resultado se calcula en el momento de ejecutar la consulta.

En el editor SQL de The Data Schools practicamos con SQLite y compatibilidad T-SQL. La sintaxis de muchas funciones MySQL coincide o tiene un equivalente cercano que puedes probar al instante.


¿Qué hace SUBSTRING_INDEX?

Subcadena antes de un delimitador. En consultas reales suele aplicarse sobre la columna <code class="code-command">Nombre_Cliente</code> de la tabla <code class="code-command">Clientes</code>, aunque también admite literales y expresiones.

Piensa en SUBSTRING_INDEX() como una herramienta de transformación: lees un valor, aplicas la función y obtienes un nuevo valor listo para mostrar, filtrar o agrupar.


Sintaxis

La forma general en MySQL es:

SUBSTRING_INDEX()

Sustituye los argumentos por columnas, números o cadenas entre comillas simples. Usa un alias con <code class="code-command">AS</code> para que el encabezado del resultado sea legible.


Ejemplo básico

Empieza con un caso sencillo para ver qué devuelve la función. Ejecuta la consulta en el editor y observa el nombre de la columna resultante.

Probar SUBSTRING_INDEX

    SELECT SUBSTRING_INDEX('Ejemplo') AS Resultado;

  
Pruébalo tú mismo

Ejemplo con Clientes

Ahora aplicamos SUBSTRING_INDEX() sobre datos de la tabla de demostración. Este patrón es el que usarás en proyectos reales: seleccionar columnas originales, añadir una columna calculada y opcionalmente filtrar con <code class="code-command">WHERE</code>.

SUBSTRING_INDEX en contexto

    SELECT Nombre_Cliente, SUBSTRING_INDEX(Nombre_Cliente) AS Resultado FROM Clientes WHERE ID_Cliente <= 4;

  
Pruébalo tú mismo

Cuándo usarla

Cuando necesites limpiar, transformar o combinar datos de texto en consultas y informes.

En un <code class="code-command">SELECT</code> para crear una columna calculada con alias (<code class="code-command">AS</code>).

Junto con <code class="code-command">WHERE</code> o <code class="code-command">ORDER BY</code> si el resultado de SUBSTRING_INDEX ayuda a filtrar u ordenar.


Resumen

  • SUBSTRING_INDEX() trabaja con texto y cadenas.
  • Devuelve un valor calculado; no altera la tabla original.
  • En MySQL, combínala con columnas reales como Nombre_Cliente.
  • Recuerda que las cadenas literales van entre comillas simples en SQL.